Obvykle není potřeba zpětně šifrovat heslo. Tato schopnost ze své podstaty snižuje bezpečnost systému. Místo toho použijte nevratnou hashovací funkci. Navrhuji SHA-256 (nebo větší), který vytváří řetězec:
SHA2 (CONCAT (user.name, user.password, 'some salt', user.id), 256)
Také jsem frustroval hromadné duhové stoly z jakéhokoli použití tím, že vložíte jiná data, která jsou vždy známá v době ověření hesla.
SHA2 vyžaduje MySQL 5.5 nebo novější. Pokud používáte starší verzi, SHA1() je téměř stejně dobrý a obecně mnohem lepší než MD5 , AES , atd.