为什么从 "openssl passwd -1" 生成的密码长度与 md5sum 不同?
Why does password generated from "openssl passwd -1" has different length than md5sum?
说密码是000000
cmd> openssl passwd -1 000000
$noyU0rJi$iZ7EgOhutl2aJItaBcF5v.
cmd> echo -n '000000noyU0rJi' | md5sum #cmd might be incorrect
1be6132fd5be99229741e0b88700fe95 -
md5sum 散列应该有 32 个字符,但是来自 openssl 的散列只有 22 个字符 (iZ7EgOhutl2aJItaBcF5v)。这是为什么?
编辑:我得到了一些反对票,如果你能解释原因会很有帮助..
您看到的至少部分差异是 openssl 工具的输出是与 Unix crypt 函数相关联的 base64 格式 [https://en.wikipedia.org/wiki/Crypt_(C) ],而 md5 函数的输出是十六进制 (base16).
仔细看,md5sum的输出结果只有数字0-9和小写字母a-f。 openssl 命令的输出包含数字和看起来是完整的字母表,包括大小写字母。
当你对信息进行更密集的编码(base64)时,长度自然会更短。
说密码是000000
cmd> openssl passwd -1 000000
$noyU0rJi$iZ7EgOhutl2aJItaBcF5v.
cmd> echo -n '000000noyU0rJi' | md5sum #cmd might be incorrect
1be6132fd5be99229741e0b88700fe95 -
md5sum 散列应该有 32 个字符,但是来自 openssl 的散列只有 22 个字符 (iZ7EgOhutl2aJItaBcF5v)。这是为什么?
编辑:我得到了一些反对票,如果你能解释原因会很有帮助..
您看到的至少部分差异是 openssl 工具的输出是与 Unix crypt 函数相关联的 base64 格式 [https://en.wikipedia.org/wiki/Crypt_(C) ],而 md5 函数的输出是十六进制 (base16).
仔细看,md5sum的输出结果只有数字0-9和小写字母a-f。 openssl 命令的输出包含数字和看起来是完整的字母表,包括大小写字母。
当你对信息进行更密集的编码(base64)时,长度自然会更短。