Java Swing フロントエンドが postgres データベースにアクセスするシステムを構築しています。今週Jasyptを発見する前は、もともと Postgres 独自の暗号化メカニズムを使用する予定でした。それは問題なく機能しましたが、ネットワーク上のパスワードを暗号化する必要があったため、Jasypt に目を向けました。
問題は、Postgres ストアド関数に固定パスワードを入力する必要があることです。つまり、入力パスワードが 'aaa' の場合、Postgres ストアド関数 ('aaa' 以外) に入力された他のパスワードは一致しません。
これら 2 つの暗号化メカニズムを連携して動作させる方法はありますか、それとも Postgres をダンプする必要がありますか?
私のユーザーテーブル:
CREATE TABLE "user"
(
id serial NOT NULL,
cryptpwd text NOT NULL,
md5pwd text NOT NULL,
...
)
暗号化パスワード:
cryptedPassword = crypt(passwordIn, gen_salt('md5'));
md5Password = md5(passwordIn);
INSERT INTO "user"(username, cryptpwd, md5pwd, ...)
VALUES (usernameIn, cryptedPassword, md5Password, ...);
パスワードの復号化:
select ..... from "user" .... where username = usernameIn and cryptpwd = crypt(passwordIn, cryptpwd);
2 つを連携させることができない場合は、ネットワーク上で暗号化する必要があるため、Postgres のメカニズムをダンプする必要があります。
また、データベース接続文字列とデータベースのユーザー名とパスワード(フレームワークを使用していない...うまくいけばSSLを使用した単純な古いjdbc接続-まだ実装していない)に関しては、Jasyptを使用できるとは思わない.データベースレベルで復号化する必要があります。この場合、SSL だけで十分でしょうか?
ありがとう。