您好我的代码下面有reads Sqlconnection string
个信息。但问题是我按原样存储了这些信息。没有编码所以在我看来这样做是非常不安全的。有没有办法encode
然后解码?哈希呢?非常感谢您的时间和意见。
internal static class DataSource
{
private static string _ConnectionString;
public static string ConnectionString
{
get
{
if (_ConnectionString == null)
_ConnectionString = FunctionToDynamicallyCreateConnectionstring();
return _ConnectionString;
}
}
private static string FunctionToDynamicallyCreateConnectionstring()
{
string path = "C:\\Users\\marek\\Documents\\Visual Studio 2012\\Projects\\tours\\tours\\sql_string.txt";
StreamReader sr = new StreamReader(File.Open(path, FileMode.Open));
SqlConnectionStringBuilder cb = new SqlConnectionStringBuilder();
cb.DataSource = sr.ReadLine();
cb.InitialCatalog = sr.ReadLine();
cb.UserID = sr.ReadLine();
cb.Password = sr.ReadLine();
return cb.ToString();
}
}
这是我存储它的方式:
string path = "C:\\Users\\marek\\Documents\\Visual Studio 2012\\Projects\\tours\\tours\\sql_string.txt";
StreamWriter sw = new StreamWriter(File.Create(path));
sw.WriteLine(textBox1.Text);
sw.WriteLine(textBox2.Text);
sw.WriteLine(textBox3.Text);
sw.WriteLine(textBox4.Text);
sw.Dispose();
这可能不是一个好方法。我是初级程序员,如果我的想法完全不好,请原谅。
答案 0 :(得分:1)
是的,您可以加密连接字符串。受保护的配置模型允许您使用两个受保护的配置提供程序加密数据。他们是:
RSAProtectedConfigurationProvider:这是默认提供程序,使用RSA公钥加密算法加密和解密数据。
DataProtectionConfigurationProvider:此提供程序使用Windows数据保护应用程序编程接口(DPAPI)来加密和解密数据。
您可以查看here,了解它是如何完成的。