¿Cuál es el algoritmo hash más popular para almacenar contraseñas?

Probablemente un hash MD5 “salado” o un hash SHA-1 “salado”.

La “sal” es una cadena aleatoria de bits añadidos a la contraseña antes de que se convierta en hash. En el campo de contraseña de la base de datos del usuario, los bits de sal, así como la “contraseña con sal” hash, generalmente se unen como una larga cadena de bits, luego se codifican en caracteres seguros e imprimibles (con codificación Base64 o algo similar).

El propósito de “salazón” es hacer que la base de datos de contraseñas sea lo más resistente posible a los ataques de diccionario y los ataques de “tabla de arco iris”. Cuantos más bits haya en la sal, más protección habrá contra este tipo de ataques. Algunas sales pueden ser tan cortas como 32 bits, mientras que otras (más seguras) pueden ser de 128 o 256 bits. Cuanto más larga sea la sal, más espacio de almacenamiento requerirá en la columna “contraseña” de la tabla de la base de datos del usuario (o en el campo apropiado en una de las líneas del archivo / etc / shadow en un sistema Linux / Unix). Dado que el espacio de almacenamiento es tan barato hoy en día, es mejor usar las cadenas de sal más largas disponibles, si se ofrece la opción.

Al autenticarse (iniciar sesión) en un sistema que utiliza una base de datos de contraseñas hash saladas, la contraseña tecleada del usuario y los bits de sal de la entrada de la base de datos de contraseñas se agregan de la manera adecuada, y el hash se vuelve a calcular. Si el hash calculado coincide con el que está almacenado en la entrada de la base de datos de contraseñas, entonces la autenticación es exitosa.

¿Popular?

Posiblemente el más utilizado debido a los valores predeterminados más antiguos: MD5

El más utilizado para reemplazar MD5: SHA-1

El preferido actual: SHA-256