Hasta ahora, las respuestas han sido para "Si como usuario agrego '.p' al final de todas mis contraseñas en varios sitios" .
Así que me gustaría abordar la otra posibilidad que podría significar la pregunta original: "Si como programador del sistema agregue '.p' al final de las contraseñas de todos mis usuarios "
Lo que estás describiendo se llama "Pepper": es un fragmento de una aplicación específica que se adjunta a la contraseña antes del hashing.
Entonces, ¿qué te trae esto?
- Evita los ataques de diccionario (ya que el atacante no sabría eso).
Cada contraseña tiene una cadena de caracteres específica añadida a la
fin.)
- Evita que una violación en otro conjunto de credenciales comprometa
tuyo (ya que no hay manera de que otro Hash (Contraseña) de otro sistema lo haga
coincide con su Hash (Contraseña + AppSpecificPepper).
¿Qué es lo que no te consigue?
- No evita que se descifre una contraseña en cascada para todos
cuentas con la misma contraseña, ya que Hash (Contraseña + Pepper) sería
coincide con todas las cuentas con la misma contraseña.
Entonces, ¿cuándo todo está dicho y hecho? Absolutamente: agregue el '.p' (o una cadena secreta mucho más larga) al final de las contraseñas de los usuarios. Hace que las contraseñas sean más seguras que solo los 8 caracteres originales. En el peor de los casos, el atacante logra comprometer la aplicación y obtener el pimiento, en cuyo caso solo está tan mal como si no hubiera usado un pimiento en el primer lugar. Pero asegúrate de agregar un Salt también, para que no permitas que un atacante comprometa varias cuentas con una sola contraseña de crack.