estoy usando un SqlMembershipProvider y almacenar mis contraseñas hash. También estoy guardando un historial de las contraseñas (hash) en otra tabla. Quiero poder comparar la contraseña a la que un usuario intenta cambiar su contraseña, con sus contraseñas antiguas y lanzar un error si era demasiado reciente. No parece poder descifrar cómo usar las funciones hash para hacer esto. Básicamente lo que estoy buscando es un método como este:Tratar de comparar el historial de contraseñas hash contraseñas creadas por SqlMembershipProvider
public bool PasswordCompare(string plaintextPassword, string salt, string hashedPassword)
{
//where the salt and hashedPassword are pulled out of the aspnet_Membership table
//which are automatically generated by the provider
}
Espero que esto esté claro, gracias.
Por qué no simplemente poner un activador en la tabla aspnet_Membership que escribe la identificación de usuario, contraseña y la fecha y la hora actual en otra tabla de informes, que tendría entonces se le pregunta por los últimos cinco? – Thomas
@Thomas ¿Su sugerencia es almacenar contraseñas en texto plano? –
@Wyatt Barnett - Por supuesto que no. Puede almacenar el hash (y la sal) en una tabla de registro y comparar el hash y la sal actuales con esa lista. – Thomas