首页 > 代码库 > MD5 字符串问题

MD5 字符串问题

早上来工位,大家再聊md5,无意中发现网上有个人提出个问题:研究了一下,挺有意思

有个串,通过各种办法得到的值不完全一样,下面请看细节:

假设这个字符串是 “ssss"
我用的第一个办法应该是准确的,echo -n "ssss" | md5sum 得到的结果是:
8f60c8102d29fcd525162d02eed4566b  -

第二个办法是用vim把字符串写进一个文本文件aaa. 然后用命令 md5sum aaa 得到结果是

[root@xxx]# md5sum aaa
eef088adb5dad035866534ffe27fde4c aaa

这时的结果就不对了

第三个办法还是把字符串写进一个文件,但是用命令 echo -n "ssss" > bbb。 然后用md5sum bbb 得到的结果和第一个办法一样。
8f60c8102d29fcd525162d02eed4566b  bbb
原因如下:

其实第二种,本件字符串末尾有一个换行符

用xxd aaa 可以看到

0000000: 7373 7373 0a                             ssss.

16进制0a表示换行符,故多了一个换行符的字符串md5sum不一样

 

MD5 字符串问题