2011-07-01 54 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 
相關問題