![]() |
1
2
您可以将密钥存储在注册表中,并使用 DAPI 。为了使密钥更安全,您应该使用用户而不是系统DAPI版本。看见 this question 。您还应设置注册表项的权限,以限制哪些用户可以读取该项。您还可以将DAPI加密字符串存储在文件(web.config)中。 请注意,当您以用户身份登录时,必须在计算机上加密字符串。这使得发布密钥更加困难,因为您不能简单地从开发服务器复制DAPI保护的密钥。 将应用程序池用户设置为,以便它可以访问注册表项,并且是用于使用DAPI加密密钥的用户。 通过将授权和加密/解密放在一个单独的服务中,您可能会使一切更加安全。将服务设置为使用DAPI用户名而不是应用程序池用户。棘手的部分是服务和网站之间的安全通信。 最后,您可以使用 SecureString 在使用DAPI解密密钥后,用于密钥传输。您可能希望使用String开发所有内容,然后切换到SecureString,以便进行调试。这里有一个问题 SecureString example . 对于开发,只需使用与生产中不同的密钥即可。开发人员将能够测试信息的编码和解码,但不能解码任何生产数据。无论如何,您的开发人员确实不应该访问未经清理的生产数据。 |
![]() |
user1946932 · .Net正则表达式在所有字符前添加空格 5 月前 |
![]() |
TSDrake · 发布ASP。没有特定文件夹的.NET应用程序 6 月前 |
![]() |
Vengat Ramanan · 用户登录Asp时隐藏导航和页脚。网络核心 10 月前 |
![]() |
ramamoorthy_villi · 输入验证错误外键字段 10 月前 |
![]() |
Enderbyte09 · ASP。NET Core绝对拒绝在其他端口上托管 11 月前 |