目前我存储类文件本身,这似乎并没有那么聪明,因为最终用户能够简单地使用反射器的情况下查看源代码,它不是obfruscated在我的C#MySQL连接信息。C#保护数据库连接信息
如何以安全的方式存储这些信息?
的源代码:
private void Initialize()
{
server = "xxx";
database = "xxx";
uid = "xxx";
password = "xxx";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
}
依靠本地安全不是任何形式的安全。如果您远程托管多个独立最终用户连接的数据库,则应通过Web服务(API)公开它,而不是让用户直接访问数据库。无论您使用的是任何本地安全性,仍然可以获取连接字符串。即使密码也可能通过反思获得。它与MS SQL连接。 – john
我更喜欢将这些详细信息存储在web.config或app.config中,并确保它们已加密。请检查这个帖子。 HTTP://计算器。com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp –
如果Web Service(API)不可用,则至少可以加密敏感数据。它仍然可以获得,但至少不是每个人都能获得。 – Vladimir