小编Cyn*_*der的帖子

使用Windows .NET或ASP.NET应用程序时,存储数据库密码的位置

我有一个困扰我多年的情景.如果必须使用用户名和密码连接到数据库或其他服务(如Web服务),那么在通过.NET程序集连接时,哪里是存储此信息的最安全的位置?我知道你必须加密密码,但是你遇到了一种鸡蛋问题 - 很好 - 你可以对它进行加密,但是你把密钥放在哪里?

在.NET中,您无法对密码进行硬编码,因为您可以反编译.NET代码.

我查看了使用基于程序集的权限与隔离存储,但MS建议不要存储未加密的秘密项目,因为有资格的用户可以获得访问权限,所以我们再次将问题从A点移动到B点.所以对于例如,域管理员由于能够成为域上任何工作站的管理员,因此无需了解数据库中的信息就能够访问.

您可以加密App.Config和Web.Config,但我相信用户可以访问密钥.

我认为你遇到了与DPAPI相同的问题.

我曾考虑过存储密码,在远程数据库中加密并通过操作系统身份验证获取密码,但我们的部门禁止在数据库服务器上存储密码.我很确定我被卡住并想要确认.

c# vb.net asp.net password-protection password-storage

12
推荐指数
2
解决办法
4680
查看次数