Al cambiar el algoritmo hash de contraseñas para una aplicación, ¿cómo debería el sistema migrar los valores ya guardados en la base de datos? Soy muy consciente del hecho de que no puedo migrarlos en su forma hash pero que necesito tener los datos de entrada para calcular el nuevo hash.Cómo migrar contraseñas a un método de hashing diferente
Hay dos situaciones en wich tengo acceso a los datos de entrada:
- Durante entrada
- cuando el usuario cambia su contraseña en sus configuraciones de perfil
, obviamente, sólo durante una de estos puedo guardar el hash nuevo en la base de datos para migrar la contraseña.
Aunque todos mis colegas votan por el método 1, mi instinto me dice que no haga eso. ¿Hay alguna manera recomendada?
# 1 funciona para mí. Todo lo que tiene que hacer es verificar ambos valores hash, y si el anterior coincide con lo que está en el DB, simplemente reemplácelo por el nuevo. Esto permite una transición sin problemas. –