本文主要是介绍使用aspnet_regiis加解密web.config,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们为了方便,通常会把一些重要的数据放到web.config文件中,这样应用程序维护起来很方便。如我们可以把数据库的连接字符串放到web.config文件里,因为有API可以直接访问并取出数据,但也存在一些安全问题,数据库的连接字符串是以明文的方式在.config文件里的。
.NET 里有ASP.NET IIS 注册工具 (Aspnet_regiis.exe) 这样的一个工具,可以对站点的.config文件的节进行加密,方法如下:
加密:aspnet_regiis -pef "加密的web.config里面的配置节名称" "web.config文件所处的目录"
解密:aspnet_regiis -pdf "加密的web.config里面的配置节名称" "web.config文件所处的目录"
加密前:<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=weilainotepad;Initial Catalog=HeBeiInnovation;Persist Security Info=True;Integrated Security=sspi"
providerName="System.Data.SqlClient" />
</connectionStrings>
加密后:<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>ZSc+KYJfIuSjchR8dJDRYmCxLSNmdQ9OzJzH0j0+ZeLcqWHKRx8pJC4GCtz1y3oiD5IkRWCUpOblZ+wtwoRI8KMOlX4Mh3GCM8CubFUDCIg5bTof9F2wtuSRWeCv9frCQNm3hcFFTGJXGFFLz8LyKUZh5G/PNw0rmgGAfwvMI+4=</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>YVYrvbPCVWuw458V/7E5YaQ6irPECAZT+ypJf0pDXLXDnCXzXULIwfGlM2NQ3eXt5LPciiSMiaAtj/gL1SskPA623ED0mhqxyUUiyZdPCsyTpBpxYj21V03ZB22n2FRnDoFgmDZpNjjSSo4XEuTmjR38oxs8risFDnLL6iMTdBPc17OLMhKbQZ+fqVagqw7/dV5OFnVP1s4RPQj2odRm3Jq9Fsm4eF7+jOxJxEv9CMJkQ5fzaZh8LLlgPYW7IayessX3VnNhdVI/vBWLbOcDt2SEIHMjl9ZtcelEs8oKJnhZSm9plQar3U8oIvScMgL4+GxVyVDoCBc=</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
这篇关于使用aspnet_regiis加解密web.config的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!