我正在尝试模仿密码字符串出现在 /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\$")'
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top