[pgsql-jp: 35889] Re: PostgreSQL での暗号化/復号化について

A.HASEGAWA blu-cielo @ nifty.com
2005年 8月 22日 (月) 19:15:06 JST


長谷川です。

山谷様のおっしゃるとおりです。
申し訳ございません。

ここで問題を整理したいと思います。
■問題
1.暗号化の強度に関係なく、DB上の個人情報をクライアントツール等で
参照した際に、単純に視覚的にわからなくしたい。
2.暗号化したデータに対してLIKE検索(完全一致も)をかけたい。
3.暗号化したデータに対して更新処理を行いたい。

■実現方法
1.SQL上で暗号化/復号化を行い、検索処理に対応したい。

■テスト結果
1.encode/decode使用
テーブルのデータ型  :varchar(bytea型だとエラー)
暗号化対象文字列   :1あ
暗号化後文字列(INSERT):encode( '1あ', 'HEX')→31a4a2
復号化後文字列(SELECT):decode( '31a4a2', 'HEX' )→1¥244¥242

2.encrypt/decrypt使用
テーブルのデータ型  :bytea(varchar型だとエラー)
暗号化対象文字列   :1あ
暗号化後文字列(INSERT):encrypt( '1あ', 'KEY', 'bf-cbc/pad:none')→¥025
¥331¥300z¥320z¥227¥360
復号化後文字列(SELECT):decrypt( '¥025
¥331¥300z¥320z¥227¥360', 'KEY', 'bf-cbc/pad:none' )→1¥244¥242¥
000¥000¥000¥000¥000

上記の2つのSQLを実行した場合、結果が「1あ」になりません。
優先順位として、
1.encode/decode使用
2.encrypt/decrypt使用
を使用したいと思っています。

SQLまたは考え方に誤りがあればご指摘下さい。
宜しくお願い致します。




pgsql-jp メーリングリストの案内