/etc/shadow 中的哈希长度不同

/etc/shadow 中的哈希长度不同

/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$。

相关内容