Подкладка md5 такая же, как у sh256? - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь закодировать в C оба алгоритма md5 и sha256, используя несколько документов, которые я нашел в Интернете.Кажется, мой md5 работает нормально, но не мой sha256.

Вот то, что я пытаюсь выяснить, является ли шаг заполнения одинаковым для обоих этих алгоритмов или я что-то упустил?

echo -n toto | ./md5
01110100 01101111 01110100 01101111 10000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00100000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
f71dbe52628a3f83a77ab494817525c6

echo -n "toto" | ./sha256
01110100 01101111 01110100 01101111 10000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00100000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
cda8272de630c5dd9770c5f5030d2d53650b6e986229d21291c5803ff4da592c

Вот мои данные после заполнения, md5 в порядке с этим, но sha256 нет, и мне интересно, может ли моя ошибка произойти из-за неправильного понимания этого шага.спасибо!

1 Ответ

0 голосов
/ 10 февраля 2019

Когда вы добавляете длину сообщения (после заполнения), MD5 использует порядок байтов, но SHA256 использует порядок байтов.Прокладки не одинаковы.

...