2016-06-11 18 views
1

In meinem Qt5.6.1-Programm muss ich einen Sha-1-Hash von QString bekommen, aber ich bekomme ein falsches Ergebnis. Ich versuche die QCryptographicHash-Bibliothek zu verwenden.Sha1-Hash von QString holen

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

Was soll ich in diesem Fall ändern?

Antwort

3

Ich denke, diese Antwort wird für Sie nützlich sein, es für md5 ist How to create MD5 hash in Qt?

statt str.toStdString(). C_str() versuchen str.toUtf8() verwendet wie diese Form der vorherigen Antwort

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

Vielen Dank, Ihre Lösung funktioniert :) – km2442