将影子哈希算法更改为 bcrypt:如何重新哈希

将影子哈希算法更改为 bcrypt:如何重新哈希

我想将我的 SHA512 影子文件更改为使用 bcrypt,如下问题/答案所示:为 crypt 启用基于 blowfish 的哈希支持

问题是我遇到了一个先有鸡还是先有蛋的问题,因为现有的影子文件是 SHA512 加密的,这意味着我编辑后 sudo 就不再起作用了

/etc/pamd/common-password

答案1

您的散列密码条目中还包含格式信息。

“$id$salt$encrypted”,其中“$id”是使用的哈希算法(在 GNU/Linux 上,“$1$”代表 MD5,“$2$”是 Blowfish,“$5$”是 SHA-256,“$6$”是 SHA-512,crypt(3) 手册页,其他 Unix 可能有不同的值,例如 NetBSD)。

如果用户的密码有时间限制,他们最终必须更新密码,新的哈希值将采用您选择的格式。系统可以判断每个用户的密码哈希值采用哪种格式,因此随着密码的更新,系统仍能继续工作。

正如您引用的答案中所说:

进行这些修改后更新的密码将使用 blowfish 进行哈希处理,现有的影子密码不会被修改

答案2

单向密码哈希的性质使得不可能(或几乎无法将哈希值反转回纯文本,以便将其重新哈希为 blowfish 或任何其他单向哈希算法。但是,据我了解,您现有的 md5/sha512/etc 密码仍然有效。

相关内容