早上来工位,大家再聊md5,无意中发现网上有个人提出个问题:研究了一下,挺有意思
有个串,通过各种办法得到的值不完全一样,下面请看细节:
假设这个字符串是 “ssss"
我用的第一个办法应该是准确的,echo -n "ssss" | md5sum 得到的结果是:
8f60c8102d29fcd525162d02eed4566b -
第二个办法是用vim把字符串写进一个文本文件aaa. 然后用命令 md5sum aaa 得到结果是
[[email protected]]# md5sum aaa
eef088adb5dad035866534ffe27fde4c aaa
这时的结果就不对了
第三个办法还是把字符串写进一个文件,但是用命令 echo -n "ssss" > bbb。 然后用md5sum bbb 得到的结果和第一个办法一样。
8f60c8102d29fcd525162d02eed4566b bbb
原因如下:
其实第二种,本件字符串末尾有一个换行符
用xxd aaa 可以看到
0000000: 7373 7373 0a ssss.
16进制0a表示换行符,故多了一个换行符的字符串md5sum不一样
时间: 2024-10-02 22:56:18