¿Cómo se genera una cadena de contraseña encriptada, ya que se encuentra en / etc / shadow?
-
05-10-2019 - |
Pregunta
Estoy tratando de imitar la creación de cadenas de contraseña a medida que aparecen en / etc / shadow.
Esto es lo que tengo hasta ahora, pero las contraseñas cifradas no coinciden, cuando se utiliza la misma contraseña y la misma sal.
5000 rondas es estándar para la cripta, así que utilicé eso también, pero no veo donde exacly he cometido un error:
Estoy haciendo esto en Perl, este es el porion relevante:
($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";
Solución
El algoritmo consiste en la cripta mucho más que re-hash 5.000 veces:
Otros consejos
perl -e 'print crypt("qwerty", "\$6\$somesalt\$")'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow