代码之家  ›  专栏  ›  技术社区  ›  polemon

在/etc/shadow中如何生成加密的密码字符串?

  •  3
  • polemon  · 技术社区  · 15 年前

    我试图模仿在/etc/shadow中出现的密码字符串的创建。

    这是我目前得到的,但是当我使用相同的密码和相同的盐时,加密的密码不匹配。

    我是用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";
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   LukeH    15 年前

    密码算法包括 很多 不仅仅是重新散列5000次:

        2
  •  1
  •   Anton Shevtsov    14 年前
    perl -e 'print crypt("qwerty", "\$6\$somesalt\$")'
    
    推荐文章