Почему мой хэш md5sum не совпадает с другим md5s?

Так что для школьного задания мы работаем с хешами. Однако я столкнулся с проблемой, где мой файл file.txt, содержащий:

test hashes
test hashes

без кавычек не соответствует хешу от HashCalc (для windows) и http://www.md5hashgenerator.com/ оба предлагают cd7e8e88f33efb42e0a1148e92c5005b, в то время как md5sum на моем linux linux поставляется с f3c5fdf4320346eb9bd2a6b64224 с использованием

head -c -1 file.txt | md5sum

Он отлично работает только с одной строкой тестовых хэшей, но со второй строкой я не могу сделать так, чтобы она совпадала.

1 ответ

Решение
$ echo -ne "test hashes\ntest hashes" | md5sum                                   
f3c5fdf4320346eb9bd2a6b64235248e  -
$ echo -ne "test hashes\r\ntest hashes" | md5sum                                 
cd7e8e88f33efb42e0a1148e92c5005b  -

Это про юникс (\n) против окончания строки DOS (\r\n).

Вы можете конвертировать окончания строки Unix в DOS с помощью unix2dos:

$ echo -ne "test hashes\ntest hashes" | unix2dos | md5sum
cd7e8e88f33efb42e0a1148e92c5005b  -

Обратная команда dos2unix,

Другие вопросы по тегам