[pgsql-jp: 39381] Re: BYTEA型の値の検索方法
Imaoka Yumiko
shinoi @ osk2.3web.ne.jp
2008年 5月 7日 (水) 10:40:03 JST
今岡です。
> psql から直接SQLを叩いてみた限りでは、特におかしな動作は見られませんでした。
>
> INSERT時とSELECT時で、暗号後の値が異なっているのかもしれません。
> PHPでのSQL送信前か、PostgreSQL で log_min_duration_statement などを使って、
>
> SQL をダンプして確認されてはいかがでしょうか。
>
> =# CREATE TABLE tbl (id serial, data bytea);
> =# INSERT INTO tbl(data) VALUES('ABC');
> =# INSERT INTO tbl(data) VALUES(E'\\001\\002');
> =# SELECT * FROM tbl WHERE data = 'ABC';
> id | data
> ----+------
> 1 | ABC
> (1 row)
>
> =# SELECT * FROM tbl WHERE data = E'\\001\\002';
> id | data
> ----+----------
> 2 | \001\002
> (1 row)
サンプルをありがとうございます。
私も、暗号化の値がその度ごとに違うのではないかと
調査しているところです。
鍵を使っての暗号化なので、鍵と暗号化前の文字列が
同じなら常に同じ暗号化データが生成されるのだと思っていましたが…。
ちなみに、暗号化で使用しているのは下記です。
ccrypt-1.7-1.i386.rpm
pgsql-jp メーリングリストの案内