我正在使用某些移动客户端升级现有的winform应用程序,并且非常希望将SQL放入Azure而不是当前的本地SQL解决方案。然后,我将更改app.config文件中的连接字符串以指向Azure。
目前我最担心的一个问题是安全性,因此我想保护连接字符串(通过加密......),以便无法在app.config文件中本地查看。
有谁知道我应该如何加密部分或全部app.config文件来键入我们看到的连接字符串。我假设因为Azure SQL使用SSL,所以当从winform应用程序实际发出请求到Azure时,我不需要太担心它的安全性。
任何帮助都非常感激。
杰森。
答案 0 :(得分:2)
在桌面或移动设备上的应用程序中使用SQL Azure连接字符串是没有意义的。服务器变得容易受到攻击,因为任何人都可以解密连接字符串。我能想到的其他一些问题将是
您需要考虑构建一个中间层,例如OData端点或Web API端点,它涉及使用ASP.Net等服务器框架。
另请参阅Azure Mobile Services,它可以配置数据库和服务器组件,以支持标准CRUD操作和其他功能的主机。
答案 1 :(得分:0)
警告:这不是保存解决方案!
您可以将凭据存储在加密文件中,然后通过读取和解密该文件中的凭据来连接到数据库。
文件加密教程:look here
连接到数据库:
string connectionString = myconnectionstringReadedFromFile;
//
// In a using statement, acquire the SqlConnection as a resource.
//
using (SqlConnection con = new SqlConnection(myconnectionstringReadedFromFile))
{
//
// Open the SqlConnection.
//
con.Open();
//.... your stuff
}