Форум: "Начинающим";
Текущий архив: 2011.11.27;
Скачать: [xml.tar.bz2];
ВнизHmac MD5 Delphi Найти похожие ветки
← →
Pepe (2011-07-30 23:23) [0]Доброго времени суток.
Возник вопрос при генерации Хешы.
Кусок из C#:
Data = 6D 79 6C 6F 67 69 6E 70 61 73 73 77 6F 72 64
Key1 = 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0F
byte[] hash = new HMACMD5(md5.ComputeHash(data)).ComputeHash(key1);
В итоге Hash должен быть побайтно равен: 57 B6 68 77 9E 9E C4 DA C5 63 84 0F F1 45 63 46
Но при переносе на Delphi: Байты принимают совсем иные значения. Пользуюсь модулем synacode из набора Synapse.
Hash:= HMAC_MD5(MD5(data),Key1);
Быть может я не правильно перевёл код? Или где-то другая загвоздка?!
← →
Dimka Maslov © (2011-08-01 13:16) [1]поройся в интернетах на предмет MD5.pas за моим авторством.
← →
Dennis I. Komarov © (2011-08-01 13:31) [2]
> Dimka Maslov © (01.08.11 13:16) [1]
Тебе персональный респект за него, давно юзаю...
← →
NanoTek (2011-08-02 23:24) [3]Странно получается, если поменять аргументы местами HMAC_MD5(Key1,MD5(data)); - получается хеш который должен у вас выйти на выходе.
← →
Омлет © (2011-08-03 09:33) [4]Естественно, всё наоборот, потому что надо читать документацию.
http://msdn.microsoft.com/ru-ru/library/system.security.cryptography.hmacmd5.aspx
> byte[] hash = new HMACMD5(md5.ComputeHash(data)).ComputeHash(key1);
Должно быть так:
byte[] hash = new HMACMD5(key1).ComputeHash(md5.ComputeHash(data));
В конструктор передается ключ, а в ComputeHash - шифруемые данные.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.11.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c