Правильно ли работает команда md5sum linux? - PullRequest
2 голосов
/ 22 октября 2009

Согласно Википедии, сумма пустой строки md5 равна d41d8cd98f00b204e9800998ecf8427e

Я подтвердил это своей библиотекой md5

Однако, когда я бегу

echo "" | md5sum

в моей оболочке linux я получаю 68b329da9893e34099c7d8ad5cb9c940 -

Фактически, ни один из моих хэшей не соответствует выводу команды md5sum.

Есть какие-нибудь мысли по поводу этого несоответствия?

Ответы [ 4 ]

12 голосов
/ 22 октября 2009

С помощью этой команды вы вычисляете md5sum одного символа новой строки. Попробуйте вместо:

echo -n "" | md5sum
6 голосов
/ 22 октября 2009

Вы должны исключить новую строку, которая производит echo

$ echo -n '' | md5
d41d8cd98f00b204e9800998ecf8427e
5 голосов
/ 22 октября 2009

Попробуйте:

echo -n | md5sum

Без '-n' echo выводит новую строку, которая должным образом обрабатывается md5sum.

2 голосов
/ 22 октября 2009

используйте более портативный printf

printf "" | md5sum
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...