Skip to main content
 首页 » 编程设计

c#之安全性:在 web.config 或代码中保存加密 key

2024年08月06日55qq号

我有一个小的安全问题。 我正在使用 RijndaelManaged 类来加密字符串(请参阅此线程中的第一个答案:https://social.msdn.microsoft.com/Forums/vstudio/en-US/d6a2836a-d587-4068-8630-94f4fb2a2aeb/encrypt-and-decrypt-a-string-in-c 或此问题:How to protect encryptor parameters themselfs)。

这很好用。但是,现在问题出现了,我是否应该将 PasswordHash、SaltKey 和 ViKey 保存在代码中或(未加密的)web.config 中。

我将它们保存在 web.config 中的唯一原因是能够根据 DTAP 环境更改键的值。 D、T、A环境显然不是一般可以访问的。

因此我的问题是: 什么更安全?将 key 保存在 web.config 或代码中?有什么我应该注意的安全问题吗?

请您参考如下方法:

我肯定会建议存储在 web.config 中。代码中的内容将被 checkin 您的源代码控制系统,很难将它们保密。

您甚至可以使用机器 key 加密 web.config 中的某些设置,使其更难被窃取。

参见 this article获取更多信息。