我有工作密码并且可以看到哈希值 (/etc/passwd)。如何找到用于散列密码的散列算法,而无需手动尝试不同的算法,直到找到匹配项?
Ste*_*itt 28
这记录在crypt(3)
的联机帮助页中,您可以通过 shadow(5)
的联机帮助页或passwd(5)
的. 这些链接适用于基于 Linux 的现代系统;那里的描述是:
如果salt是一个以字符“$ id $”开头的字符串,后跟一个可选地以“$”结尾的字符串,则结果具有以下形式:
Run Code Online (Sandbox Code Playgroud)$id$salt$encrypted
id标识使用的加密方法而不是 DES,然后它确定如何解释密码字符串的其余部分。支持以下 id 值:
Run Code Online (Sandbox Code Playgroud)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)
河豚,也被称为bcrypt
,也被确定前缀2
,2b
,2x
,和2y
(见PassLib的文档)。
因此,如果以上述格式存储散列密码,则可以通过查看id找到使用的算法;否则它crypt
是默认的 DES 算法(带有 13 个字符的散列),或“big”crypt
的 DES(扩展为支持 128 个字符的密码,散列长度最多为 178 个字符),或 BSDI 扩展的 DES(带有_
前缀)后跟一个 19 个字符的哈希值)。
y
: 是加密gy
: gost-yescrypt7
: 加密sha1
: sha1cryptmd5
: SunMD5其他平台支持其他算法,因此请查看crypt
那里的联机帮助页。例如,OpenBSDcrypt(3)
只支持 Blowfish,它使用id “2b”来标识。
归档时间: |
|
查看次数: |
24996 次 |
最近记录: |