Cómo migrar contraseñas a un método de hash diferente

Al cambiar el algoritmo de hash de contraseña para una aplicación, ¿cómo debe migrar el sistema los valores ya guardados en la base de datos? Soy 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.

Hay dos situaciones en las que tengo acceso a los datos de entrada:

Durante el inicio de sesiónCuando el usuario cambia su contraseña en la configuración de su perfil

obviamente, solo durante uno de estos puedo guardar el nuevo hash en la base de datos para migrar la contraseña.

Aunque todos mis colegas están votando por el método 1, mi instinto me dice que no lo haga. ¿Hay alguna forma recomendada?

Respuestas a la pregunta(8)

Su respuesta a la pregunta