Come faccio a generare uno stringa password cifrata, come in / etc / shadow?
-
05-10-2019 - |
Domanda
Sto cercando di imitare la creazione di stringhe di password come appaiono in / etc / shadow.
Questo è quello che ho finora, ma le password criptate non corrispondono, quando uso la stessa password e lo stesso sale.
5000 giri è standard per la cripta, quindi ho usato che pure, ma non vedo dove exacly ho fatto un errore:
Lo sto facendo in Perl, questo è il porion rilevante:
($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";
Soluzione
L'algoritmo cripta coinvolge molto più di un semplice re-hashing 5.000 volte:
Altri suggerimenti
perl -e 'print crypt("qwerty", "\$6\$somesalt\$")'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow