Comment puis-je générer une chaîne de mot de passe crypté, comme dans / etc / shadow?
-
05-10-2019 - |
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";
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