Estoy buscando consejos sobre cómo securely almacenar contraseñas en MySQL usando PHP.¿Cuáles son las mejores prácticas para encriptar contraseñas almacenadas en MySql utilizando PhP?
Pasando por alto las limitaciones de PHP en sí, quiero saber más sobre salazón, hash y encriptación de estos chicos malos.
Obviamente, las personas seguirán utilizando contraseñas débiles a menos que se les obligue a hacerlo de otra manera, pero es la forma en que las guardo lo que es importante para mí. Las contraseñas de mis usuarios son mucho más importantes para mí que la base de datos en sí misma y, por lo tanto, quiero mantenerlas de forma tal que sean minuciosas y monótonas para cualquier script kiddie que intente invertir. Obviamente, con la debida diligencia casi cualquier cosa puede ser derrotada, pero no me importaría hacer esto particularmente molesto.
Hay dos escenarios que estamos viendo.
- The kiddie tiene una copia completa de la base de datos.
- El niño tiene una copia completa del PHP utilizado para crear la contraseña y la base de datos.
Todos y cada uno de los consejos sobre este tema se aprecia graciosamente.
La mejor manera es no utilizar contraseñas en absoluto. Ver InstaPaper. –
¿Son sus usuarios locales o por Internet? –
Tanto locales como de Internet. Prefiero no depender de los recursos de Internet, pero supongo que esto podría ser una opción (por ejemplo, agarrar la sal de un proveedor de terceros). – Matt