【发布时间】:2012-07-08 02:07:05
【问题描述】:
我有一个带有 app.config 文件的 C# 应用程序。该应用程序在构建服务器上构建并部署给多个用户。
我想加密 app.config,但我不确定何时这样做:如果我在构建后立即进行,加密不会依赖于构建服务器凭据吗?应用程序如何在其他机器上解密?如果我在用户机器上进行加密,这会不会在 app.config 不受保护时留下时间?
谢谢
编辑:
我正在考虑使用DPAPI。它使用用户的凭据来加密和解密。这就是为什么我认为我在向用户提供加密文件时可能会遇到问题。
【问题讨论】:
-
您应该不在向同一用户提供解密文件的方法时为文件加密而烦恼。听起来你需要在这里的某个地方实现一个服务,以防止代码落入“邪恶”之手。
-
需要加密的敏感信息不应进入配置文件
-
但是连接字符串不应该去那里吗?
-
如果您可以使用集成安全性,您的连接字符串不应包含密码,在这种情况下,我认为加密它没有意义,因为它包含的只是服务器和数据库名称。如果确实包含密码,则对其进行加密是有意义的。
-
看看这个answer。可以使用 RSA public-private key.encryption 来做到这一点。
标签: c# encryption app-config