2016-06-11 2 views
1

В моей программе Qt5.6.1 мне нужно получить хэши Sha-1 из QString, но я получаю неверный результат. Я пытаюсь использовать библиотеку QCryptographicHash.Получение хэша Sha1 от QString

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