Question

Je suis en train de mimer la création de chaînes de mots de passe tels qu'ils apparaissent dans / etc / shadow.

est ce que j'ai jusqu'à présent, mais les mots de passe cryptés ne correspondent pas, quand j'utilise le même mot de passe et le même sel.

5000 tours est standard pour la crypte, alors que j'ai utilisé aussi bien, mais je ne vois pas où exacly je fait une erreur:

Je le fais en Perl, c'est le porion pertinent:

($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";
Était-ce utile?

La solution

L'algorithme crypte implique beaucoup plus que re-hachage 5.000 fois:

Autres conseils

perl -e 'print crypt("qwerty", "\$6\$somesalt\$")'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top