我对存储在 Linux (Ubuntu) /etc/shadow 下的哈希 (ASCII) 代码感到困惑。
假设一个案例,让密码为'test', salt 为'Zem197T4'。
通过运行以下命令,
$ mkpasswd -m SHA-512 test Zem197T4
Run Code Online (Sandbox Code Playgroud)
生成一长串 ASCII 字符(这实际上是 Linux 在 /etc/shadow 中的存储方式)
$6$Zem197T4$oCUr0iMuvRJnMqk3FFi72KWuLAcKU.ydjfMvuXAHgpzNtijJFrGv80tifR1ySJWsb4sdPJqxzCLwUFkX6FKVZ0
Run Code Online (Sandbox Code Playgroud)
使用在线 SHA-512 生成器时(例如 http://www.insidepro.com/hashes.php?lang=eng)时,生成的是一些十六进制代码,如下所示:
选项1)密码+盐
8d4b73598280019ef818e44eb4493c661b871bf758663d52907c762f649fe3355f698ccabb3b0c59e44f1f6db06ef4690c16a2682382617c6121925082613fe2
Run Code Online (Sandbox Code Playgroud)
选项2)盐+密码
b0197333c018b3b26856473296fcb8637c4f58ab7f4ee2d6868919162fa6a61c8ba93824019aa158e62ccf611c829026b168fc4bf90b2e6b63c0f617198006c2
Run Code Online (Sandbox Code Playgroud)
我相信这些十六进制代码应该与 mkpasswd 生成的 ascii 代码“相同”。但是它们之间有什么关系呢?
希望有人能指教我吗?