Mysql
 sql >> Database >  >> RDS >> Mysql

Come utilizzare correttamente AES_ENCRYPT?

In genere, non è necessario eseguire la crittografia inversa di una password. Avere questa capacità intrinsecamente diminuisce la sicurezza del sistema. Invece, usa una funzione hash irreversibile. Suggerisco SHA-256 (o più grande) che produce un risultato stringa:

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

Ho anche frustrato i tavoli arcobaleno in blocco. dall'essere in alcun modo utile inserendo altri dati sempre noti al momento della convalida della password.

SHA2 richiede MySQL 5.5 o successivo. Se stai utilizzando una versione precedente, SHA1() è quasi altrettanto buono, e generalmente molto meglio di MD5 , AES , ecc.