2011-07-01 55 views
0

当我直接在shell中传递该行echo -n aWord | md5时,我得到了预期的结果 - 与PHP md5('aWord')相同 - 但是当我从文件调用代码时,我得到一个不同的字符串。echo -n aWord | md5没有返回预期的结果

请帮忙。

+1

你可以分享shell脚本中不工作的相关部分吗? – AlG

+0

请显示您正在使用的文件。另外,你在这里使用了哪个'md5'命令? –

+0

'echo -n'在shell和脚本中的行为有所不同吗? – pavium

回答

2

如果你得到以下md5s:

=$ echo -n aWord | md5sum 
a72ef25b2fa8080e6e0643c967284842 - 

而且从文件:

=$ cat test.file 
aWord 

=$ md5sum test.file 
1d03663ed556e850007c886ce5ad3ade test.file 

这是因为在文件中的其他字符 - 换行字符:

=$ hexdump -C test.file 
00000000 61 57 6f 72 64 0a         |aWord.| 
00000006 
1

我无法评论,但我从文件获得的结果与命令行相同:

$ echo -n 'aWord' | md5sum 
a72ef25b2fa8080e6e0643c967284842 - 
$ echo -n 'aWord' > file 
$ md5sum file 
a72ef25b2fa8080e6e0643c967284842 file 
相关问题