假设app.config无论出于何种原因都不是一个选项。
如何在汇编本身或其他app.config(如XML文件)中存储加密的连接字符串?
(我认为这不重要,但这适用于Excel 2003的COM加载项。)
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用System.Security.Cryptography命名空间中的类 加密/解密文件。但是,你会遇到另一个问题 你存放钥匙?如果将其存储在装配中,则装配即可 浏览找到密钥,然后其他人可以用它来解密你的密钥 数据
看看
http://www.codeproject.com/KB/security/encryptstrings.aspx
和
http://sharpertutorials.com/simple-string-encryption-and-decryption/
答案 2 :(得分:0)
听起来非常适合ProtectedData类。
http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx
调用Protect并传入包含连接字符串的字节数组将返回加密数据的字节数组(然后可以将其转换为base64并存储在本地文件中。
调用Unprotect并传入包含加密连接字符串的字节数组将返回包含纯文本连接字符串的字节数组。然后只需使用Convert to ASCII或UTF-8等。
显然,如果攻击者获得了运行应用程序的用户帐户的访问权限,他们将能够恢复该字符串,但它比在程序集中存储加密字符串提供了更多的安全性(这可以允许恢复而无法访问用户帐户)。