Frage

Ich bin zu imitieren versuchen, die Erstellung von Passwort-Strings, wie sie in / etc / shadow erscheinen.

Das ist, was ich so weit gekommen, aber die verschlüsselten Passwörter nicht übereinstimmen, wenn ich das gleiche Kennwort verwenden und das gleiche Salz.

5000 Runde ist Standard für die Krypta, so dass ich das auch verwendet, aber ich sehe nicht, wo exacly ich einen Fehler gemacht:

Ich tue dies in Perl, ist dies die relevante porion:

($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";
War es hilfreich?

Lösung

Die Krypta Algorithmus beinhaltet viel mehr als nur Re-Hashing 5.000 Mal: ??

Andere Tipps

perl -e 'print crypt("qwerty", "\$6\$somesalt\$")'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top