/etc/shadow
以下是系统上存储的两个不同用户的输出:
usr1:$1$zgKwt6aQ$gXxsMLgcxa/u6rmq5QseP.:14307:0:99999:7:::
usr2:$6$9Bh5mQ5t$VY64eVcILqgXIC1EFPJ.f3tDVrsSf4y1Th6dleFN2FcuUJQUGevVXILySNfQlDNVWBQXCHaja1hyms.mVeDOY/:14839:0:99999:7:::
问题是,为什么这些密码哈希值(均有效)的长度不同?
答案1
usr1使用 md5 哈希表示1 美元和usr2使用 sha512 哈希表示6美元。
用于authconfig --test | grep hashing
查看现在有效的方法。
原因为什么可能是usr2在操作系统升级后,默认算法从 MD5 更改为 SHA512,用户被添加。
请参阅此链接了解一些背景信息:
http://www.akkadia.org/drepper/SHA-crypt.txt
请参阅下面 cakemox 的回答以了解所有可能的值。
答案2
它们是针对每个用户使用不同算法生成的哈希值。$1$
和$6$
前缀会告诉您使用的是哪个哈希值:
$1$
-md5$2$
-bcrypt$2a$
- eksblowfish$5$
- SHA-256$6$
- SHA-512
答案3
hash 开头有一个 magic string,定义 hash 格式:$number$。