如何知道 /etc/shadow 中的密码是用 SHA 还是 MD 散列的?

Bat*_*gev 5 password ubuntu hashsum shadow

我想知道我的/etc/shadow密码哈希是 SHA 或 MD 还是其他。从我读到的,它与$符号有关,但我没有任何美元符号。

我使用的是 Ubuntu 16

例子:

user:0.7QYSH8yshtus8d:18233:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)

Kus*_*nda 11

shadow(5)Ubuntu上手动指crypt(3)手册。该crypt(3)手册说,默认的密码加密算法DES

它接着说,glibc2库函数还支持 MD5,至少支持 SHA-256 和 SHA-512,但是/etc/shadow通过这些算法之一加密的密码条目看起来像$1$salt$encrypted(对于 MD5),$5$salt$encrypted(对于 SHA-256 ),或$6$salt$encrypted(对于 SHA-512),其中每个$都是文字$字符,其中salt是最多 16 个字符的,以及encrypted实际哈希值。

由于您的加密密码不遵循该模式,我假设它是使用默认 DES 算法加密的。

  • 值得一提的是,DES 密码哈希算法最多只能存储 8 个字符的密码,而将忽略其余的密码。因此,如果实际密码比这更长,只需正确输入前 8 个字符就足够了。即使仅此一项也可能足以切换到另一个更现代的密码散列方案。在 Ubuntu 中,更改密码时使用的密码散列通常由 `/etc/pam.d/common-password` 中的 `pam_unix.so` PAM 模块的选项指定。 (7认同)