我有一个需要连接到SQL数据库发送一些数据不时C#应用程序。 我怎样才能安全地存储用于该作业的用户名和密码?
Answer 1:
有一个很好的MSDN文章有关如何在.net安全连接字符串。
您可能需要使用受保护的配置 。
Answer 2:
尽可能使用集成的Windows身份验证。 这需要有责任把你的应用程序,并允许Windows处理它。 使用Windows身份验证而不是SQL身份验证被认为是最好的做法。
阅读接受的答案: 连接SQL服务器(Windows身份验证VS SQL Server身份验证)的asp.net应用程序的最佳方式
参见: 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用户)运行一个伟大的候选人。
Answer 3:
在你的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
Answer 4:
不知道您的具体要求,但首先,你必须加密密码。 此外,传输这样的敏感信息时,可以考虑使用一个安全的连接。
Answer 5:
在连接字符串中存储的加密版本解密密码后,编程形成连接字符串。
你可以使用任何你选择的加密机制 - 从平凡到复杂。
Answer 6:
你可能想看看RijndaelManaged的关键,这是一个相当安全的对称加密密钥。 该信息(和教程)一篇好文章可以在这里找到;
http://www.obviex.com/samples/Encryption.aspx
Answer 7:
您可以使用加密和dyscryption算法的密码,并通过谁创造用户,什么日期时间它创造了记录用户信息,并保存此数据库。 即使有人更新或修改登录数据库的信息。
Answer 8:
代码转换成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();
}