qt 中文 加密 算法 csdn
时间: 2024-04-26 16:13:19 浏览: 91
上有很多关于Qt中文加密算法的文章,以下是其中一篇:
Qt中文加密算法
在Qt中,可以使用QCryptographicHash类来进行加密。但是对于中文字符串,需要进行一些处理才能正确加密。下面是一种简单的中文加密算法。
1. 将中文字符串转换为UTF-8编码的字节数组。
QString str = "中文字符串";
QByteArray data = str.toUtf8();
2. 将字节数组中的每个字节转换为16进制字符串,并将它们连接起来。
QString hex;
for(int i = 0; i < data.size(); i++)
{
hex += QString("%1").arg(data.at(i), 2, 16, QLatin1Char('0'));
}
3. 对连接起来的16进制字符串进行MD5或SHA1加密。
QByteArray result = QCryptographicHash::hash(hex.toUtf8(), QCryptographicHash::Md5);
QString md5 = QString(result.toHex());
4. 最后得到的就是中文字符串的加密结果。
完整代码:
QString encrypt(QString str)
{
QByteArray data = str.toUtf8();
QString hex;
for(int i = 0; i < data.size(); i++)
{
hex += QString("%1").arg(data.at(i), 2, 16, QLatin1Char('0'));
}
QByteArray result = QCryptographicHash::hash(hex.toUtf8(), QCryptographicHash::Md5);
QString md5 = QString(result.toHex());
return md5;
}
参考链接:
https://blog.csdn.net/qq_21706519/article/details/53542005
阅读全文