因此,对于学校作业,我们正在使用哈希。但是我遇到了一个问题,我的 file.txt 包含:
test hashes
test hashes
没有引号的哈希值与 HashCalc(适用于 Windows)的哈希值不匹配,并且http://www.md5hashgenerator.com/两者都得出 cd7e8e88f33efb42e0a1148e92c5005b,而我的 kali linux 上的 md5sum 得出 f3c5fdf4320346eb9bd2a6b64235248e
head -c -1 file.txt | md5sum
仅使用一行测试哈希值就可以正常工作,但使用第二行我无法使其匹配。
答案1
$ echo -ne "test hashes\ntest hashes" | md5sum
f3c5fdf4320346eb9bd2a6b64235248e -
$ echo -ne "test hashes\r\ntest hashes" | md5sum
cd7e8e88f33efb42e0a1148e92c5005b -
这是关于 Unix ( \n
) 与 DOS 行尾 ( \r\n
) 的问题。
您可以使用以下命令将 Unix 行尾转换为 DOS 行尾unix2dos
:
$ echo -ne "test hashes\ntest hashes" | unix2dos | md5sum
cd7e8e88f33efb42e0a1148e92c5005b -
反向命令是dos2unix
。