¿Por qué las contraseñas de los usuarios nunca deben almacenarse en texto plano?

Nunca digas nunca. Si almacena una contraseña en un archivo de texto sin formato en su PC llamada “videos varios”, probablemente sea segura, especialmente si la palabra “contraseña” no aparece en el archivo.

Para almacenar credenciales para muchos usuarios, no es tan simple. Las credenciales almacenadas tienen algún valor, lo que significa que los delincuentes intentarán robarlas. Si pueden entrar en su sistema y adivinar dónde están las credenciales (¿tal vez la base de datos principal en el servidor web?), Si están en texto plano, pueden leerse de inmediato sin importar cuán fuertes sean. Entonces uno debería usar encriptación.

Sin embargo, los esquemas de encriptación de contraseñas son bien conocidos, y muchas personas usan contraseñas débiles, o reutilizan las de otros lugares. Eso permite a los atacantes ejecutar un ataque de diccionario y adivinar contraseñas. El uso de cifrado solo los ralentiza un poco. Agregar una sal ayuda mucho: cada contraseña debe adivinarse por separado. Todavía no ayudará si se conocen contraseñas de otros lugares. Vea, por ejemplo, el blog de Troy Hunt Reutilización de contraseña, relleno de credenciales y otros mil millones de registros en ¿Me han pwned?

Porque hace que el proceso de robo sea realmente fácil, y las implicaciones de esto son muy malas. Digamos, por ejemplo, que ejecuta un sitio web cuya base de datos de back-end almacena contraseñas en texto sin formato. Ahora, digamos que algunos imbéciles no cifraron (encriptaron) estas contraseñas y no desinfectaron los formularios en la parte frontal correctamente. Ahora, si alguien inyectó algunos sql, boooyah, ¡tiene todas las contraseñas en su base de datos, sin cifrar!

Sea un buen ciudadano y nunca almacene contraseñas en texto plano.