Чот я в этом не силен..
Вот код
inline QString getMD5(QString source)
{
source = "PASSWORD";
QCryptographicHash md5(QCryptographicHash::Md5);
md5.addData(source.toAscii());
return md5.result().toHex().constData(); //В переменной cod полученный md5-хэш
}
Возвращает 319f4d26e3c536b5dd871bb2c52e3178
А этот
inline String ^ getMD5(String ^ input)
{
//Шаг 1 подсчитываем МД5 хеш
MD5 ^ md5Hasher = System::Security::Cryptography::MD5::Create();
array<System::Byte> ^ inputBytes = md5Hasher->ComputeHash(Encoding::ASCII->GetBytes(input));
array<System::Byte> ^ hash = md5Hasher->ComputeHash(inputBytes);
//Шаг 2 конвертируем байты в хекс массив строковой
StringBuilder ^ sb = gcnew StringBuilder();
for (int i = 0; i < hash->Length; i++)
{
sb->Append(hash[i].ToString("X2"));
}
return sb->ToString();
}
РЕЗУЛЬТАТ - DBCE1D4BCE4B61A085D9D097C4B42F8B
Начальная строка "PASSWORD";
Примеры для QT и VS везде одинаковые а результат разный.
Я так понимаю делают они это разными методами вот и результат разный.
Подскажите кто знает как правильно это сделать.