MySQLで可逆暗号化する

MySQLで可逆暗号化するときのメモ。

「AES_ENCRYPT(str,key_str), AES_DECRYPT(crypt_str,key_str)」BLOB型を使用する。

//暗号化
INSERT INTO table (a) VALUES (AES_ENCRYPT('value','password'));
//複号化
SELECT AES_DECRYPT(a,'password') as dec_a from table;

「ENCODE(str,pass_str), DECODE(crypt_str,pass_str)」BLOB型を使用する。

//暗号化
INSERT INTO table (a) VALUES (ENCODE('value','password'));
//複号化
SELECT DECODE(a,'password') as dec_a from table;

MySQL AB :: MySQL 5.1 リファレンスマニュアル :: 11.10.2 暗号化関数と圧縮関数

MySQLの本はなんか自分にあったものがなかなかない。「MySQL全機能リファレンス」がお気に入りなのだが、新しいのでないかな?

アマゾンのサーバでエラーが起こっているかもしれません。一度ページを再読み込みしてみてください。