sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo usar AES_ENCRYPT correctamente?

Por lo general, no hay una necesidad real de revertir el cifrado de una contraseña. Tener esa capacidad inherentemente disminuye la seguridad del sistema. En su lugar, utilice una función hash irreversible. Sugiero SHA-256 (o más grande) que produce un resultado de cadena:

 SHA2 (CONCAT (user.name, user.password, 'some salt', user.id), 256)

También he frustrado las rainbow tables a granel. de ser útil al incluir otros datos siempre conocidos en el momento de la validación de la contraseña.

SHA2 requiere MySQL 5.5 o posterior. Si está utilizando una versión anterior, SHA1() es casi tan bueno y generalmente mucho mejor que MD5 , AES , etc.