PHP+MYSQLのメモ書き2
DBのデータを暗号化して保存しときたい時は、AES_ENCRYPT(), AES_DECRYPT()関数が使えたらしい。
ただこの関数は結果をバイナリ型で返すのでHEX(), UNHEX()関数と組み合わせるのがセオリーぽい。
/* EXAMPLE */ $DB_TABLE : テーブル名 $DATA : データ $KEY : 暗号化キー FIELD : フィールド名 Encode: $sql = "INSERT INTO ${DB_TABLE} (FIELD) VALUES ( HEX( AES_ENCRYPT('${DATA}', '${KEY}') ) )"; Decode: $sql = "SELECT AES_DECRYPT(UNHEX(FIELD), '${KEY}') FROM ${DB_TABLE}";
日本語もいけた。