¿Se convierte SHA-512 en adecuado para almacenar una contraseña si usamos salazón e iteración con ella?

1

Hoy he leído esta discusión sobre SHA-256 y SHA-512 y que no debemos usar ninguno de ellos para almacenar una contraseña de forma segura. Y he leído aquí que en su lugar podemos usar el PBKDF2 Función hash, porque podemos usar sal y especificar el número de iteraciones. Eso es genial, pero ¿qué pasa si uso sal y la iteración con SHA-512? Por ejemplo, considere esta implementación simple:

string Password= "admin";
for(int I= 0; I<numberOfIterations, I++)
{
   Password = sha512(Password+salt);
}
store(Password);

Entonces, ¿es posible aplicar algo como esto?

    
pregunta user3260672 10.08.2015 - 16:23
fuente

1 respuesta

13
  

Hoy he leído esta discusión sobre ruedas y que no deberíamos simplemente atarnos a una rueda para viajar en una autopista de varios carriles . Y he leído aquí que, en cambio, podemos tomar el autobús , porque tiene características de seguridad . Eso es genial, pero ¿qué pasa si uso un cinturón de seguridad con mi rueda ?

La salazón es buena. Las iteraciones son buenas. SHA-512 es un buen algoritmo de hashing de propósito general. Pero no puedes simplemente tomar un montón de cosas buenas y atarlas juntas y esperar tener algo seguro de usar. Como un bus comercial, PBKDF2 (o bcrypt, o scrypt, o Argon2 ) tiene muchas ventajas sobre una solución casera, principalmente :

  1. Ha sido probado extensivamente por expertos.
  2. Hay varias implementaciones, por lo que su base de datos de usuario se puede copiar a una nueva plataforma con un mínimo esfuerzo.
  3. Tiene protecciones contra problemas que usted no sabe que son problemas (es decir, fue creado por expertos).
respondido por el bonsaiviking 10.08.2015 - 19:51
fuente

Lea otras preguntas en las etiquetas