仔细检查/etc/passwd
和/etc/shadow
文件显示存储的密码是使用某种形式的散列函数散列的。
快速谷歌搜索显示,默认情况下,密码使用DES 加密。如果条目以 开头$
,则表示使用了其他一些散列函数。
例如,我的 Ubuntu 机器上的一些条目以$6$
...
不同的数字代表什么?
Mik*_*kel 31
完整列表在man 3 crypt
(网络版)中:
ID | Method
-------------------------------------------------
1 | MD5
2a | Blowfish (on some Linux distributions)
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)
Run Code Online (Sandbox Code Playgroud)
(河豚可以是$2$
或$2a$
根据Wikipedia Crypt (Unix)。)
所以$6$
意味着SHA-512
。
您的系统使用哪一个由传递给pam_unix PAM 模块的任何选项控制。
最新版 Ubuntu 的默认设置为/etc/pam.d/common-password
:
password [success=1 default=ignore] pam_unix.so obscure sha512
Run Code Online (Sandbox Code Playgroud)
这意味着下次您更改密码时,它将使用 SHA-512 进行散列,假设您的帐户是本地帐户,而不是 NIS/LDAP/Kerberos 等。
也可以看看: