Почему мой хэш 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
,