Actualmente, mi proyecto todavía utiliza hash MD5 para cifrar las contraseñas. Sí, lo sé.
Estoy planeando actualizar el sistema de contraseñas para usar las nuevas funciones password_hash
y password_verify
en PHP, lo que mejorará la seguridad de las contraseñas de los usuarios.
Sin embargo, mi equipo moderador ha expresado una preocupación: dado que una de nuestras reglas básicas prohíbe a los usuarios tener más de una cuenta, necesitan formas de saber si dos cuentas pertenecen a la misma persona. Una de esas formas que han utilizado es verificar si los hashes MD5 son los mismos en las dos cuentas sospechosas; si es así, entonces las cuentas tienen la misma contraseña y la sospecha se intensifica. Pero con el nuevo sistema propuesto, esto ya no será posible porque se producirán hashes diferentes en las dos cuentas.
En el interés de encontrar un compromiso, ¿hay alguna forma de usar la mejor seguridad de password_hash
, mientras que sigue proporcionando una manera para que el equipo moderador detecte cuándo dos cuentas comparten la misma contraseña?
Mis pensamientos en este momento involucran el hash de la contraseña de alguna otra manera que produzca el mismo hash para la misma contraseña, pero me preocupa que esto vuelva a introducir la misma vulnerabilidad de la que estamos intentando escapar moviéndonos lejos de MD5. ¿Hay alguna opción aquí o tendré que usar Executive Decision Power para anular la preocupación?