Cyr*_*aud 2 linux password hash
我想在我的电脑上创建几个 Linux 用户来测试 JohnTheRipper 对不同类型的密码(包括长度、字符集和加密哈希方法)。在创建新用户时,如何轻松指定要使用的散列算法?我知道文件 /etc/login.defs 包含变量 ENCRYPT_METHOD,该变量在许多 Debian 系统上默认设置为 SHA512,但我想知道是否可以在不修改此文件的情况下使用另一个加密哈希。
ps:我尝试修改此文件,重新启动并使用命令 adduser 创建一个新用户,但加密哈希方法用户始终是 SHA512
谢谢
使用非默认散列方法设置密码的最简单方法是先手动散列密码,然后在设置用户时提供该密码:
adduser --password HASHEDPASSWORD user
Run Code Online (Sandbox Code Playgroud)
其中 HashEDPASSWORD 必须遵循您系统的crypt函数标准( man 3 crypt):
如果 salt 是一个以字符 "$id$" 开头的字符串,后跟一个以 结尾的字符串
"$":Run Code Online (Sandbox Code Playgroud)$id$salt$encrypted然后,而不是使用 DES 机器, id 标识所使用的加密方法,然后决定如何解释密码字符串的其余部分。支持以下 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)所以
$5$salt$encrypted是SHA-256编码的密码和$6$salt$encrypted是SHA-512编码的一种。
要从命令行生成正确的散列,您可以查看此处。