Pregunta

Actualmente estoy construyendo un par de ASP.NET MVC 2 sitios, y me pregunto cuáles son mis opciones para salar una contraseña. Con mi trabajo PHP, por lo general acaba de obtener la marca de tiempo de cuando un usuario registrado, a continuación, se adjunta al final de su cadena de contraseña antes de usar SHA1 de hash de toda la cosa. Mi instinto es que este enfoque puede no ser suficiente.

Soy bastante nuevo en la administración de usuarios con ASP.NET de todos modos, así que calculo que sería lo mejor para mí para empezar con las mejores prácticas desde el principio. Sé que los formularios web ASP.NET se han incorporado en la administración de usuarios disponibles, pero estoy seguro acerca de MVC.

¿Fue útil?

Solución

El único punto de una sal es para prevenir ataques de arco iris, donde varios usuarios tienen el mismo hash de la contraseña, por lo que invertir una contraseña con éxito significa también sabe que es la contraseña para todos los demás con el mismo hash. Incluso una sal de un dígito evitará que, dado que dos usuarios con la misma contraseña tendrán diferentes valores hash si tienen diferentes sales.

A medida que la sal es algo que no va a cambiar, y que es diferente para cada usuario, cualquier valor va a funcionar bien. Marca de tiempo de su inscripción, siempre y cuando no actualizar ese campo (lo que invalida su hash de la contraseña y evitar su inicio de sesión) es una buena elección.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top