也许有一点愚蠢的问题,但是我想知道我放在app.config中用于我的应用程序的值是否安全?我将在C#的一个应用程序中使用它。我需要它是安全的,以防止反向工程或其他方式获得密钥,以便人们可以读取我的密码。
我想要加密和解密密码,我需要一个密钥。将密钥放在app.config文件中安全吗?
示例:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="SecurityKey" value="secKey" />
</appSettings>提前感谢!
发布于 2015-01-18 22:11:52
从谁手中安全,做什么?我猜你指的是黑客访问机器的文件系统并获取加密密钥。
对此有一种缓解措施- encrypted configuration sections,用于存储密码短语和其他敏感信息。我不能对此给出太多建议,因为我从来没有用过它们。
我要补充的一件事是,你的问题的表达方式意味着你正在设计自己的安全机制。除非您是该领域的专家,否则我强烈建议您不要这么做,因为滚动您自己的安全性是非常困难的,并且很容易引入不明显但严重的安全漏洞。我强烈建议您研究一下随.Net框架提供的开箱即用的身份管理,而不是自己编写。
发布于 2015-01-18 22:12:30
如果您不信任您的网络管理员,这可能是不安全的。这将是值得尝试的DPAPI。
发布于 2015-01-18 22:13:36
这是不安全的,您应该加密safeKey的值。为此,您可以使用DPAPI。
,DPAPI protected configuration provider,支持用于密钥存储的机器级和用户级存储。存储的选择在很大程度上取决于您的应用程序是否与其他应用程序共享服务器,以及是否必须为每个应用程序保留敏感数据的私密性。请注意,如果您的应用程序部署在Web场中,则应使用RSA provider,因为导出RSA非常容易。
https://stackoverflow.com/questions/28010581
复制相似问题