.Net如何在多个配置中保护密码

时间:2011-11-14 09:58:45

标签: .net security encryption

我在工作站上安装了几个应用程序(网站,Windows服务),其配置文件中存储了普通密码(密码到数据库,密码到外部服务e.t.c)。

我想在配置文件中使我的密码不可读,同时保持其他配置标签可读。

我正在使用一些加密算法(MD5,Rijndael),参数存储在Machine.config中。这是最好的做法吗?

如果犯罪分子获得工作站管理权限,我该如何保护我的密码?

2 个答案:

答案 0 :(得分:2)

这个答案:

protect (encrypt) password in the web.config file (asp.net)

引用了一种在配置文件中加密密码的技术:

http://www.pvle.be/2009/03/encrypt-appconfig-section-using-powershell-as-a-post-build-event/

可以处理(它使用Powershell作为构建后的步骤)。


但是,如果恶人获得工作站管理员权限,那么您应该假设 nothing 在您的PC上是安全的。因此,如果这确实是一个问题,您可能会考虑在可移动媒体或类似设备上使用密码,这样如果您不在PC上,它们将无法访问。

我可以修改我引用的脚本,以便在加密阶段从可移动媒体中提取密码。

答案 1 :(得分:0)

我认为您需要创建一个类来加密密码然后将此密码保存在配置文件中,然后创建一个util类,其中包含加密类中硬编码的密码并使用它来减少密码的密钥