どのように効果的にデスクトップアプリケーションでは、データベースのパスワードを保存するには?
-
23-09-2019 - |
質問
私は、データベース(MySQLを)使用しています(それがアプリの呼び出しをすることができます)デスクトップアプリケーションを作ってるんです。 より多くのアプリのユーザーには、1人のデータベース・ユーザーを共有しています。 例:ジョンとマイクのアプリのユーザーは、など、「DBUSER」として、DBへの接続
。問題がある:?。をどうすればよい効果的にDBのユーザーのパスワードの保存の(アプリのユーザーの障害者は、DBに格納されている)。
私が見つけた可能性のある解決策: コード内の1 - これは実際にはかなり愚かです:D テキストINIファイル中の2 - 読みやすいです! 3.のexternファイルに暗号化された - 。良いが、アプリに必要なアクセス
解決
SHA1 / SHA2 のアルゴリズムを使用して、(アプリユーザーの障害者がDBに格納されている)。
暗号化保存されたパスワード。これは、最も使用される技術です。 私は、.NET開発者ではないが、私はかなり確信して彼らは、関数のどこかを提供することをしています。
が再び暗号化、ユーザがログイン指定されたパスワードと格納されている1つにそれを比較します。それらが等しい場合は、内のユーザーログをさせます。
他のヒント
あなたは暗号化された形式でINIファイルに保存することができます。これは、最善の方法の私見です。私は暗号化された形式での.NETアプリケーションのApp.configファイル内の接続文字列を格納します。
EDITます:
編集接続文字列に、私はapp.configファイルのCSEncryptionののAppSettingsに別の構成値を使用= "Y | N | R"
それがYの場合は、接続文字列が暗号化され、復号化し、それを使用しています。
それがNである場合は、は、接続文字列は、それを直接使用し、暗号化されていません。
はR、接続文字列が暗号化されていない場合には、それを暗号化し、App.configファイルに「Y」に更新接続文字列とセットCSEncryption。