如何在不添加尾随' \ n'对吗?

时间:2016-04-25 12:04:07

标签: macos shell md5 zsh

我试图在python和shell中使用md5(在OSX上使用zsh)。

我明白了:

在python中:

>>> hashlib.md5("zoo".encode('utf-8')).hexdigest()
'd2cbe65f53da8607e64173c1a83394fe'
使用Zsh

$ echo "zoo" | md5
ace34ff0a763d9f382cbe6b219fcac7c

因为我也有:

>>> hashlib.md5("zoo\n".encode('utf-8')).hexdigest()
'ace34ff0a763d9f382cbe6b219fcac7c'
在Python中,我认为我的zsh命令添加了一个(不需要的)尾随' \ n'在对它进行哈希处理之前的字符串。

为什么会发生这种情况,我怎么能避免这种情况?

2 个答案:

答案 0 :(得分:3)

你去:

kent$  echo -n 'zoo'|md5sum
d2cbe65f53da8607e64173c1a83394fe

kent$  echo  'zoo'|md5sum 
ace34ff0a763d9f382cbe6b219fcac7c 

答案 1 :(得分:2)

我刚刚发现:

-s命令有一个$ md5 -s "zoo" MD5 ("zoo") = d2cbe65f53da8607e64173c1a83394fe 标志,允许直接以字符串形式传递参数。

所以:

{{1}}

非常愚蠢,我的坏。