Encryption 为什么密码由“生成”;openssl密码-1“;与md5sum的长度不同?

Encryption 为什么密码由“生成”;openssl密码-1“;与md5sum的长度不同?,encryption,hash,openssl,cryptography,md5,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)。为什么呢

说密码是000000

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

cmd> echo -n '000000noyU0rJi' | md5sum    #cmd might be incorrect
1be6132fd5be99229741e0b88700fe95  -
md5sum散列应该有32个字符,但是openssl的散列只有22个字符(iZ7EgOhutl2aJItaBcF5v)。为什么呢


编辑:我得到了一些反对票,如果您能解释一下原因,那将很有帮助。

至少您看到的部分差异是openssl工具的输出是与Unix crypt函数[]相关联的base64格式,而md5函数的输出是十六进制(base16)

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


当您对信息进行更密集的编码(base64)时,长度自然会更短。

Stack Overflow是编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。