从QString获取Sha1哈希

时间:2016-06-11 11:53:31

标签: c++ qt hash qstring

在我的Qt5.6.1程序中,我必须从QString获取Sha-1哈希,但是我得到的结果不正确。我正在尝试使用QCryptographicHash库。

QString str = "ABCDEFGH";    
QString hash = QString::fromStdString(QCryptographicHash::hash(str.toStdString().c_str(), QCryptographicHash::Sha1).toStdString());
// hash == "?^??[?\u0000??v??\u0015??.b??v"

在这种情况下我应该改变什么?

1 个答案:

答案 0 :(得分:3)

我认为这个答案对你来说对md5很有用 How to create MD5 hash in Qt?

而不是str.toStdString()。c_str()尝试使用str.toUtf8() 像这样形成了之前的答案

QString hash = QString("%1").arg(QString(QCryptographicHash::hash(str.toUtf8(),QCryptographicHash::Sha1).toHex()))