0

データウィンドウの選択/更新を使用する表形式のユーザー メンテナンス ウィンドウがあります。

MSSQL データベースに保存されているパスワードを暗号化する必要があります。

Powerbuilder および dbo 用の関数 f_decrypt があります。

dw.Update() を使用してパスワードを暗号化するにはどうすればよいですか?

4

1 に答える 1

0

その可能性については、おそらく小さな本が書けるでしょう。私の最初の質問は、暗号化されたパスワードを保存する必要があるか、またはパスワードが暗号化されたネットワークを経由する必要があるかということです。ストレージが唯一の要件である場合、自分で車輪を再発明しようとするのではなく、高レベルのプログラマーのチームが何ヶ月もかけて正しくしようとしたことを DBMS に任せる傾向があります。暗号化されたネットワークを通過する必要がある場合でも、最初に DBMS が提供するオプションを検討します。

クライアント側でそれを行う必要があり、ハッシュ化、ソルト化、コードのリバースエンジニアリングの防止などを自分で処理する必要がある場合でも、それを行う方法はおそらくまだ 12 通りあります。私が試す最初の方法は、パスワード ユーザー インターフェイス用のダミー列と、テーブル内の列を含むデータウィンドウを作成することです。

SELECT '        ' as password_ui,
       table.password_storage,
       ...
FROM table
....

password_ui をデータウィンドウのユーザー インターフェースに配置し、password_storage をユーザー インターフェースから除外しますが、password_storage が更新可能な列として更新プロパティに含まれていることを確認します。次に、ItemChanged で、変更された列が password_ui の場合、

CHOOSE CASE dwo.Name
   CASE "password_ui"
      SetItem (row, "password_storage", f_encrypt (data))
END CHOOSE

幸運を、

テリー。

于 2012-04-12T02:46:23.460 に答える