【发布时间】:2010-09-24 11:26:28
【问题描述】:
我正在尝试模仿 /etc/shadow 中出现的密码字符串的创建。
这是我到目前为止所得到的,但是当我使用相同的密码和相同的盐时,加密的密码不匹配。
5000 发是 crypt 的标准,所以我也使用了它,但我看不出我在哪里犯了错误:
我在 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";
【问题讨论】:
标签: cryptography sha512 passwd cryptographic-hash-function