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";
È stato utile?

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
scroll top