在 /etc /shadow中,如何生成加密密码字符串?
-
05-10-2019 - |
题
我正在尝试模仿密码字符串出现在 /etc /shadow中时的创建。
这就是我到目前为止的目标,但是当我使用相同的密码和相同盐时,加密密码不匹配。
5000发是地下室的标准配置,所以我也使用了它,但是我看不出在哪里犯了一个错误:
我正在perl中这样做,这是相关的宠儿:
($pass, $salt) = @ARGV;
unless(defined($salt)) {
$salt = MIME::Base64::encode(random_bytes(12), '');
}
for $i (1 .. 4999) {
$pass = Digest::SHA::sha512($salt, $pass);
}
say "";
print '$6$', $salt, '$', Digest::SHA::sha512_base64($salt, $pass), "\$\n";
解决方案
地穴算法涉及 很多 不仅仅是重复5,000次:
其他提示
perl -e 'print crypt("qwerty", "\$6\$somesalt\$")'
不隶属于 StackOverflow