作成日:2020-10-16, 更新日:2020-10-16
基本
▼暗号化
HEX(AES_ENCRYPT(値, 暗号化する際の鍵))
▼復号化
AES_DECRYPT(UNHEX(値), 暗号化したときの鍵)
▼like検索
AES_DECRYPT(UNHEX(値), 暗号化したときの鍵) like 値
サンプル
insert, update
値を暗号化して格納
insert ~省略~ ( ~省略~ HEX(AES_ENCRYPT("さんぷる", "sample_key")), ~省略~ );
select
復号化した状態で検索を行う
select AES_DECRYPT(UNHEX(`sample_colmns`), "sample_key") from `sample_table` where AES_DECRYPT(UNHEX(`sample_colmns`), "sample_key") like "%さん%";
めも:phpとの連携
PHP、mySQLのバージョンによっては大丈夫だと思う
※今回は、バージョンが古くて連携する方法を見つけることができなかった
希望としては・・・PHP側で暗号化して、DBに値を格納したかった