Форум: "Начинающим";
Текущий архив: 2014.06.01;
Скачать: [xml.tar.bz2];
Внизmd5 Найти похожие ветки
← →
listvenniza (2013-08-07 15:56) [0]прошу помощи.
трассирую прогу под нет.
идет вызов стандартной с крипто апи md5sum
передается строка: "C1BFEBFBFF000306A98AB5C567"
функция возвращает: ""3898a80d277947193310068008b5f1ae""
перепробывал на дельфи все найденные мд5 вариации, в основном на выходе имею: "7c195f9e5b6364e712f8f07b08cc0ec2"
он лайн сервисы то же дают.
в какую сторону копать? вроде бы пробывал и юникодные варианты строки. или может организация функции GetMd5Sum другая?
← →
listvenniza (2013-08-07 15:58) [1]реализация GetMd5Sum:
public static string GetMd5Sum(string str)
{
Encoder encoder = Encoding.Unicode.GetEncoder();
byte[] bytes = new byte[str.Length * 2];
encoder.GetBytes(str.ToCharArray(), 0, str.Length, bytes, 0, true);
byte[] buffer2 = new MD5CryptoServiceProvider().ComputeHash(bytes);
StringBuilder builder = new StringBuilder();
for (int i = 0; i < buffer2.Length; i++)
{
builder.Append(buffer2[i].ToString("x2"));
}
return builder.ToString();
}
← →
ProgRAMmer Dimonych © (2013-08-07 17:27) [2]Рискну предположить, что дело в том, как интерпретируется строка теми же онлайн-сервисами и библиотеками. Наверняка берут в однобайтовой кодировке или в UTF-8, или ещё как-нибудь. А в Вашей GetMd5Sum() используется UTF-16. Хеш считается не от строки, а от массива байтов. Соответственно если реализация хеш-функции правильная (а это скорее всего так), проблема в том, как строка преобразуется в массив байтов.
Ещё, помнится, в универских лабах столкнулся с отличиями в значениях HMAC, полученных CryptoAPI и своей реализацией строго по RFC, но здесь ведь не этот случай. Да и не столь важно, совпадают ли эеши с эталонными. Важнее, чтобы совпадали у отправителя и получателя.
А какова конечная цель?
← →
listvenniza (2013-08-07 17:31) [3]спасибо, вопрос закрыт!
вообщем нужно было в дельфи перевести в юникод
Encoding.Unicode.GetEncoder("...") затем уже считать мд5 полученных байтов.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.06.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.001 c