也许有点愚蠢的问题,但我想知道我放在app.config中用于我的应用程序的值是否安全?我将在C#中的应用程序中使用它。我需要它能够安全地防止逆向工程或获取密钥的其他方式,以便人们可以读取我的密码。
我想加密和解密密码,我需要一个密钥。将密钥放在app.config文件中是否安全?
示例:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="SecurityKey" value="secKey" />
</appSettings>
提前致谢!
答案 0 :(得分:0)
从谁那里安全,做什么?我认为你的意思是来自黑客访问机器的文件系统并获取加密密钥。
有一种缓解措施 - encrypted configuration sections旨在存储密码短语和其他敏感信息。因为我从来没有使用它,所以我无法就此给出很多建议。
我要补充的一点是,您的问题的措辞意味着您正在设计自己的安全机制。除非你是这个领域的专家,否则我强烈反对这一点,因为滚动你自己的安全性是非常困难的,很容易引入非明显但关键的安全漏洞。我强烈建议您研究.Net框架提供的开箱即用的身份管理,而不是自己编写。
答案 1 :(得分:0)
如果您不信任您的网络管理员,这可能不安全。值得尝试DPAPI。
答案 2 :(得分:0)
不安全,你应该加密safeKey的值。您可以使用DPAPI。
受DPAPI保护的配置提供程序支持机器级别和 密钥存储的用户级存储。商店的选择很大程度上取决于 您的应用程序是否与其他服务器共享服务器 应用程序以及敏感数据是否必须保密 为每个应用程序。请注意,如果您的应用程序部署在 Web场,您应该使用受RSA保护的配置提供程序 可以轻松导出RSA密钥。