为什么“openssl passwd -1”生成的密码长度不同于md5sum?

时间:2017-11-12 04:27:32

标签: encryption hash openssl cryptography md5

说密码是000000

cmd> openssl passwd -1 000000
$1$noyU0rJi$iZ7EgOhutl2aJItaBcF5v.

cmd> echo -n '000000noyU0rJi' | md5sum    #cmd might be incorrect
1be6132fd5be99229741e0b88700fe95  -

md5sum哈希应该有32个字符,但openssl的哈希值只有22个字符(iZ7EgOhutl2aJItaBcF5v)。那是为什么?

编辑:我得到了一些downvote,如果你能解释原因会有所帮助..

1 个答案:

答案 0 :(得分:1)

至少部分区别在于openssl工具的输出是与Unix crypt函数[https://en.wikipedia.org/wiki/Crypt_(C)]相关联的base64格式,而md5函数的输出是十六进制的( base16)。

如果仔细观察,可以看到md5sum的输出只有数字0-9和小写字母a-f。 openssl命令的输出有数字,看起来是完整的字母,包括大写和小写字母。

当你更密集地编码信息时(base64),长度自然会更短。