14

時々データを送信するためにSQLデータベースに接続する必要があるC#アプリケーションがあります。このジョブに使用されるユーザー名とパスワードを安全に保存するにはどうすればよいですか?

4

8 に答える 8

7

.Netで接続文字列を保護する方法についてのすばらしいMSDNの記事があります。

保護された構成を使用することをお勧めします。

于 2012-07-27T09:43:47.527 に答える
4

可能な限り、統合Windows認証を使用してください。それはあなたのアプリケーションの責任を取り除き、Windowsにそれを処理させます。SQL認証の代わりにWindows認証を使用することは、ベストプラクティスと見なされます。

この受け入れられた答えを読んでください:asp.netアプリのSQLサーバー(Windows認証とSQL Server認証)を接続するための最良の方法

参照:http ://www.mssqltips.com/sqlservertip/1831/using-windows-groups-for-sql-server-logins-as-a-best-practice/

そして:http ://www.greensql.com/content/sql-server-security-best-practices

ちなみに、これが質問で示されている「ジョブ」である場合は、特定のセキュリティコンテキストで(つまり、特定のWindowsユーザーとして)実行できる単純なWindowsサービスまたはスケジュールされたタスクの候補として最適です。

于 2012-07-27T09:43:59.047 に答える
1

app.configまたはweb.configで、.net暗号化プロバイダーを使用してそれらを暗号化します

詳細については、こちらを確認して くださいhttp://msdn.microsoft.com/en-us/library/dx0f3cf2%28v=vs.80%29.aspx

保護された構成を使用した構成情報の暗号化

http://msdn.microsoft.com/en-us/library/53tyfkaw%28v=vs.80%29.aspx

于 2012-07-27T09:44:12.777 に答える
0

正確な要件についてはわかりませんが、何よりもまず、パスワードを暗号化する必要があります。また、このような機密情報を送信する場合は、安全な接続の使用を検討してください。

于 2012-07-27T09:42:38.313 に答える
0

暗号化されたバージョンを接続文字列に保存し、パスワードを復号化した後、プログラムで接続文字列を形成します。

些細なものから複雑なものまで、任意の暗号化メカニズムを使用できます。

于 2012-07-27T09:42:48.407 に答える
0

非常に安全な対称暗号化キーであるRijndaelManagedキーを確認することをお勧めします。この情報(およびチュートリアル)に関する優れた記事は、ここにあります。

http://www.obviex.com/samples/Encryption.aspx

于 2012-07-27T09:47:36.497 に答える
-1

パスワードに暗号化および暗号化解除アルゴリズムを使用し、ユーザーを作成したユーザーとユーザーが作成した日時ごとにユーザー情報をログに記録して、これをデータベースに保存できます。誰かが更新または編集したとしても、その情報をデータベースに記録します。

于 2012-07-27T09:50:01.180 に答える
-5

stirngをmd5に変換するコード

using System.Text;
using System.Security.Cryptography;
    public static string ConvertStringtoMD5(string strword)
        {
            MD5 md5 = MD5.Create();
            byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(strword);
            byte[] hash = md5.ComputeHash(inputBytes);
            StringBuilder sb = new StringBuilder();
                for (int i = 0; i < hash.Length; i++)
               { 
                    sb.Append(hash[i].ToString("x2"));
               }
               return sb.ToString();
       }
于 2012-07-27T09:45:06.790 に答える