我有一堆.Net配置文件,其中包含Windows服务帐户和/或SQL服务器登录的密码.我想从配置文件中取出它们并使它们更安全.
在配置文件中使用密码有什么好办法?
谢谢
您实际上可以加密配置文件的部分。正如您在问题中询问的那样,它并不与配置文件“分离”,但它比在配置文件中存储未加密/明文密码更安全。
加密连接字符串的示例(从命令提示符):
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"
Run Code Online (Sandbox Code Playgroud)
请注意,同样的技术可以应用于连接字符串之外的部分。
请参阅教程:https://msdn.microsoft.com/en-us/library/zhhddkxy%28v=vs.140%29.aspx
要解密和加密 Web.config 文件的一部分,ASP.NET 进程必须有权读取适当的加密密钥信息。有关更多信息,请参阅导入和导出受保护的配置 RSA 密钥容器。
应用程序将能够本机使用加密值,但如果用户可以通过文件共享访问配置文件,则字符串仍将被加密。
另一个教程可能有一些附加信息: http://www.codeproject.com/Tips/795135/Encrypt-ConnectionString-in-Web-Config
请注意,使用适当的密钥可以逆转加密。最安全的选择是锁定远程并共享对存储配置文件的区域的访问。如果没有其中任何一个,除了服务器管理员之外,任何人都无法访问您的配置文件。