2016-06-11 164 views
1

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

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

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

回答

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())) 
+0

谢谢你,你的解决方案正在工作:) – km2442