Обикновено няма действителна необходимост от обратно шифроване на парола. Наличието на тази способност по същество намалява сигурността на системата. Вместо това използвайте необратима хеш функция. Предлагам SHA-256 (или по-голям), който генерира резултат от низ:
SHA2 (CONCAT (user.name, user.password, 'some salt', user.id), 256)
Освен това разочаровах груповите rainbow таблици от каквато и да е употреба чрез прехвърляне на други данни, винаги известни по време на валидиране на паролата.
SHA2
изисква MySQL 5.5 или по-нова версия. Ако използвате по-стара версия, SHA1()
е почти толкова добър и като цяло много по-добър от MD5
, AES
и т.н.