2014-10-06 71 views
1

尝试在Linux上正确地散列字符串时遇到以下问题。md5sum当字符串中有 n个字符时出现问题

我使用Linux的shell命令如下过程:

echo -n "THIS IS A TEST" | md5sum 

,它是产生正确的MD5值(1586CFFAFA39E38959477DA9EAA41C31

但我无法弄清楚如何得到正确的MD5值的字符串:THIS IS\n A TEST

我试过类似:

echo -n "THIS IS\n A TEST" | md5sum 

给出了错误的md5值,而不是正确的应该是:180FB5A20D21A215AF9D1F89251B3614

+1

取决于哪个'echo'你使用,你可能需要使用'-e'。 'echo -n“这是\ n一个测试”'打印一个真正的换行符? – Biffen 2014-10-06 07:43:32

回答

1

您应该使用echo -e(使用Bash)使其理解转义码。

例如: echo -en“这是\ n一个测试”| MD5SUM

这会给你该字符串的正确哈希(这是):7a04591799701f311f30755bf53f90d1

+0

请注意,OP不同意正确的值! – 2014-10-06 08:01:08

+0

@ chiastic-security我已经看到了,但我一直在python中进行测试,并且他给出的值是“这是\ n一个测试”,带有*转义* \ n(字面反斜杠,然后是'n') ......这很奇怪。 – blue112 2014-10-06 15:44:06

相关问题