看一下crypt(3)的手册页,我想您会发现crypt工具已更新为使用glibc和sha256($ 5)和sha512($ 6),多个回合,更大的盐,等等。 。
显然,SHA512与/ etc / shadow的工作方式有关。
也就是说,此网页非常有帮助-特别是MKPASSWD,因为它可以解决我的问题。
给定一个可能“丢失”的密码,我可以使用MKPASSWD和salt来生成SHA512哈希,并确认/拒绝候选密码列表。
我会使用开膛手约翰-但至少在我的硬件(Raspberry Pi)和预算(什么都没有)上,约翰无法做到(它似乎不支持raspbian免费版中的高级crypt / glibc东西。
请注意,由于我有足够的权限来读取/写入/ etc / shadow,因此我可以覆盖哈希值,然后继续生活……这是一项学术练习。
注意Glibc注意此功能的glibc2版本支持其他加密算法。
If salt is a character string starting with the characters
"$id$" followed by a string terminated by "$":
$id$salt$encrypted
then instead of using the DES machine, id identifies the encryp‐
tion method used and this then determines how the rest of the
password string is interpreted. The following values of id are
supported:
ID | Method
─────────────────────────────────────────────────────────
1 | MD5
2a | Blowfish (not in mainline glibc; added in some
| Linux distributions)
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)
So $5$salt$encrypted is an SHA-256 encoded password and
$6$salt$encrypted is an SHA-512 encoded one.