3

データベース(mysql)を使用したデスクトップアプリケーション(アプリと呼びましょう)を作成しています。より多くのアプリのユーザーが1人のデータベースユーザーを共有します。例:JohnおよびMikeアプリのユーザーは、「dbuser」などとしてDBに接続します。

問題は次のとおりです。DBユーザーのパスワードを効果的に保存するにはどうすればよいですか。(アプリユーザーのpwdはDBに保存されます)。

私が見つけた可能な解決策:1。コード内-これは実際にはかなりばかげています:D 2.テキストINIファイル内-読みやすいです!3. externファイルで暗号化-良好ですが、アプリにアクセスする必要があります。

4

2 に答える 2

1

暗号化された形式でINIファイルに保存できます。それが私見の最良の方法です。接続文字列を.NETアプリケーションのApp.configに暗号化された形式で保存します。

編集:

接続文字列を編集するには、App.ConfigファイルCSEncryption = "Y | N|R"のAppSettingsで別の構成値を使用します

Yの場合、接続文字列は暗号化され、復号化されて使用されます。

Nの場合、接続文字列は暗号化されていないため、直接使用してください。

Rの場合、接続文字列は暗号化されていません。暗号化して接続文字列を更新し、App.ConfigでCSEncryptionを「Y」に設定します。

于 2010-01-28T14:52:26.993 に答える
1

(アプリユーザーのpwdはDBに保存されます)。

SHA1/SHA2アルゴリズムを使用して保存されたパスワードを暗号化します。これは最もよく使われるテクニックです。私は.NET開発者ではありませんが、どこかで機能を提供していると確信しています。

ユーザーがログインしたら、指定されたパスワードを再度暗号化し、保存されているパスワードと比較します。それらが等しい場合は、ユーザーにログインさせます。

于 2010-01-28T14:58:42.263 に答える