MyBatisでTypeHandlerを使ってDBカラム単位に暗号、復号
ちょっと調べたメモ
やりたいこと
- 要件として、DBのカラム単位に暗号化してテーブルにInsert、Updateしたい
- Selectする場合はオブジェクトにマッピングされた時点で複合されていてほしい
- つまり、カラム単位の暗号化、復号化を透過的に行いたい ⇨テーブルの中身には暗号化された状態で永続化しておきたい
前提
透過的なカラム単位の処理⇨TypeHandlerをつかったら良いのではないか?
- Java8からのLocalDateTimeでも使われることがある
調べたら中国語ではあるがGithubに同じことをやろうとしているソースを発見。
結構いろいろやっているので、まずは以下のような単純な暗号化ロジックをつかって今後試してみたい。