テーブルに暗号化したデータが格納されており、ある項目をあいまい検索するために、
以下のようなSQLであいまい検索を実施しようと思うのですがそもそもSQLで複合化するのはよろしくないのでしょうか?
SQL
1select name 2from user 3where AES_DECRYPT(UNHEX(name), '複合化するための鍵') LIKE '%田中%';
パフォーマンスの問題もありますが、
SQLログに「複合化するための鍵」が出力されてしまうのは避けたいので別の方法があればご教示頂きたいと思っております。
いったんすべてのデータを取得して、
プログラム(java)で複合化した文字列に「田中」が含まれているものだけを抽出するしかないでしょうか。
(ページングさせる必要があり、検索件数取得・オフセットなどの制御を入れているのであまりプログラム抽出はやりたくありません)
もしくは、"AES_DECRYPT"を含むSQLはログに出力させない・マスキングするなどの方法がありましたら、ご教示頂きたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/06 07:00
2018/07/06 07:32
2018/07/06 07:35
2018/07/06 09:04