Vanligtvis finns det inget egentligt behov av att omvända kryptera ett lösenord. Att ha den förmågan minskar i sig systemets säkerhet. Använd istället en irreversibel hashfunktion. Jag föreslår SHA-256 (eller större) som ger ett strängresultat:
SHA2 (CONCAT (user.name, user.password, 'some salt', user.id), 256)
Jag har också frustrerat bulk regnbågstabeller från att vara någon användning genom att rulla in annan data som alltid är känd vid lösenordsvalidering.
SHA2
kräver MySQL 5.5 eller senare. Om du använder en tidigare version, SHA1()
är nästan lika bra och generellt mycket bättre än MD5
, AES
osv.