shell里的md5sum生成的结果为什么与程序生成的不一样
发布网友
发布时间:2022-04-19 02:58
我来回答
共2个回答
热心网友
时间:2022-04-19 04:27
其实是这样的 ,md5sum文件会在文件的最后增加一个'\n',再进行md5运算。
同理,用echo "password" |md5sum生成的结果也是一样,因为echo也是在最后增加了一个"\n"。
所以使用md5sum加密字符串的时候应该避免这个问题,要echo -n "passwd"|md5sum, -n代表不输出'\n'符。
来看一下效果吧:
被加密字符串 ”redhat“
1.python hashlib计算
e2798af12a7a0f4f70b4d69efbc25f4d
2.echo -n 'redhat'|md5sum
e2798af12a7a0f4f70b4d69efbc25f4d
3.echo "redhat"|md5sum
bdb52aae3b5566607f3e6023ef2e74e5
4.echo -n -e 'redhat\n'|md5sum
bdb52aae3b5566607f3e6023ef2e74e5
热心网友
时间:2022-04-19 05:45
md5sum文件会在文件的最后增加一个'\n',再进行md5运算。
同理,用echo "password" |md5sum生成的结果也是一样,因为echo也是在最后增加了一个"\n"。
所以使用md5sum加密字符串的时候应该避免这个问题,要echo -n "passwd"|md5sum, -n代表不输出'\n'符。
来看一下效果吧:
被加密字符串 ”redhat“
1.python hashlib计算
e2798af12a7a0f4f70b4d69efbc25f4d
2.echo -n 'redhat'|md5sum
e2798af12a7a0f4f70b4d69efbc25f4d
3.echo "redhat"|md5sum
bdb52aae3b5566607f3e6023ef2e74e5
4.echo -n -e 'redhat\n'|md5sum
bdb52aae3b5566607f3e6023ef2e74e5
实例2、3、4比较以下就明白了吧