app.config中的值是否安全?

时间:2015-01-18 14:09:38

标签: c# app-config

也许有点愚蠢的问题,但我想知道我放在app.config中用于我的应用程序的值是否安全?我将在C#中的应用程序中使用它。我需要它能够安全地防止逆向工程或获取密钥的其他方式,以便人们可以读取我的密码。

我想加密和解密密码,我需要一个密钥。将密钥放在app.config文件中是否安全?

示例:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="SecurityKey" value="secKey" />
  </appSettings>

提前致谢!

3 个答案:

答案 0 :(得分:0)

从谁那里安全,做什么?我认为你的意思是来自黑客访问机器的文件系统并获取加密密钥。

有一种缓解措施 - encrypted configuration sections旨在存储密码短语和其他敏感信息。因为我从来没有使用它,所以我无法就此给出很多建议。

我要补充的一点是,您的问题的措辞意味着您正在设计自己的安全机制。除非你是这个领域的专家,否则我强烈反对这一点,因为滚动你自己的安全性是非常困难的,很容易引入非明显但关键的安全漏洞。我强烈建议您研究.Net框架提供的开箱即用的身份管理,而不是自己编写。

答案 1 :(得分:0)

如果您不信任您的网络管理员,这可能不安全。值得尝试DPAPI

答案 2 :(得分:0)

不安全,你应该加密safeKey的值。您可以使用DPAPI

  

受DPAPI保护的配置提供程序支持机器级别和   密钥存储的用户级存储。商店的选择很大程度上取决于   您的应用程序是否与其他服务器共享服务器   应用程序以及敏感数据是否必须保密   为每个应用程序。请注意,如果您的应用程序部署在   Web场,您应该使用受RSA保护的配置提供程序   可以轻松导出RSA密钥。

相关问题