¿Por qué las personas usan otros algoritmos, como bcrypt para proteger contraseñas, y no solo unas pocas miles de iteraciones de un algoritmo de la familia SHA-2?
Nota: digamos, por ejemplo, unos pocos miles son 10,000.
Bcrypt implementa hashing, prueba de trabajo y salado de la manera correcta. El punto de usar bcrypt es 1) no reinventar la rueda 2) hacer las cosas criptográficas correctamente es difícil si alguien hace bricolaje
Ah, y puede aumentar el parámetro de costo sin la necesidad de actualizar todos los demás hash (por lo que puede pedir cortésmente a los usuarios que cambien su contraseña y todo funcionará sin problemas)
El punto de usar bcrypt sobre el hash regular es que la aceleración ( estiramiento de las teclas ) se puede implementar de manera fácil y confiable, lo que hace que fuerza bruta es un trabajo que requiere mucho tiempo y, por lo tanto, es imposible. Las funciones de hash, incluso con miles de iteraciones, son todavía relativamente sencillas y no requieren mucho tiempo para el procesador. Bcrypt está diseñado para ser resistente a la fuerza bruta a medida que se desarrollan la criptografía o la computación. Si el descifrado de contraseñas se vuelve más fácil, solo aumenta el parámetro de costo.
Lea otras preguntas en las etiquetas hash