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.