ENCODE( 暗号化する文字列, パスワード )
ENCODE関数を使用することで、復号化パスワードを指定して暗号化することができます。
暗号化された値はバイナリになるため、テーブルに格納する場合はBLOB型の列に格納する必要があります。
尚、ENCODE関数で暗号化された値は、DECODE関数を使用して復号化することができます。
mysql> SET @encoded_str = ENCODE( 'MySQL', 'pass' ); Query OK, 0 rows affected (0.00 sec) mysql> SELECT @encoded_str; +--------------+ | @encoded_str | +--------------+ | 76喇 | +--------------+ 1 row in set (0.00 sec) mysql> SELECT DECODE( @encoded_str, 'pass' ); +--------------------------------+ | DECODE( @encoded_str, 'pass' ) | +--------------------------------+ | MySQL | +--------------------------------+ 1 row in set (0.00 sec) mysql> --パスワードが異なると正しく復号化されない mysql>SELECT DECODE( @encoded_str, 'hage' ); +--------------------------------+ | DECODE( @encoded_str, 'hage' ) | +--------------------------------+ | )・Pヨ | +--------------------------------+ 1 row in set (0.00 sec)