2011-03-31 30 views
29

Estoy intentando generar un hash MD5 con Qt. El hash que genero debe ser compatible con otros hash MD5 estándar generados con otros lenguajes como PHP.Generando un hash MD5 con Qt

Este código no me da los resultados deseados:

QString encodedPass = QString(QCryptographicHash::hash(("myPassword"),QCryptographicHash::Md5)); 

El resultado es "Þ ± ÷ SOHU Ö ¡¯ × L?!?" En lugar de "deb1536f480475f7d593219aa1afd74c". ¿Puede alguien mostrarme lo que estoy haciendo mal?

Respuesta

71

PHP te lo da en hexadecimal, Qt en binario. Conviértalo en hexadecimal usando QByteArray::toHex.

QString blah = QString(QCryptographicHash::hash(("myPassword"),QCryptographicHash::Md5).toHex())