详解C#App.config和Web.config加密
打开cmd,进入vs安装目录C:\Windows\Microsoft.NET\Framework64\v4.0.30319
cdC:\Windows\Microsoft.NET\Framework64\v4.0.30319
如果是Web.config就直接加密,是App.config就先改为Web.config才可以进行加密
aspnet_regiis-pef"节点""项目路径"
例如:
需要加密的App.config数据库连接字符串为
加密命令为
aspnet_regiis-pef"connectionStrings""Web.config所在目录"
如加密失败
解决方案:
创建一个可导出的rsa密钥容器,命名为Key
aspnet_regiis-pc"Key"-exp
将Web.cofig/App.config的configuration增加属性值xmlns,即改为
将数据库连接字符串改为以下:
开始对配置文件进行加密
aspnet_regiis-pef"connectionStrings""Web.config所在目录"-prov"KeyProvider"
注意:vs会提示是否修改,选择全是
解密配置文件
aspnet_regiis-pdf"connectionStrings""Web.config所在目录"
如果是App.config改成的Web.config,加密成功之后再改为App.config,并删除configuration的属性xmlns值
未加密的Web.config/App.config文件内容:
修改为加密后的Web.config/App.config文件内容:
加密后的Web.config/App.config文件内容:
RsaKey lSLu2RVnlfr5om5MpBuqyhBETF6dI/glZ3zlfOQvzj+l1YmsOcfGVC1LgrDFcPLEbF/r1IZZYVnQuesz3AeVUkpNCG2OfMWDeaPULtJ5Ay24SYnBR4FNtQQSf1pijelXRGE8pzH7s49RLsKWQuwVTyMrOUoIMcmD4xIPmN/cqpQ= deXEhu/mqe+WkD51qXhi9jwBhEurU6EQXBQINOGOyDgpw/W4xTpi3DtTDcEzJXbaHvyKaXLfkPxxljce07ANtN7VXRfDov0Olsq/3+hkYqVXRI5A80XVkOKh2CQaVWx/GJC7JBbbRlKXJvS93M+OQWGKpW0twcZlL1ns97g5w8QstGN6vszAiZw1z6gKXlsrMf9224ExGq+dGJS9BSU+mxaKkd9EAVELMtWv2r7jIXsEneggDR49Mtdu91j1dsDj6am3NcaHmRQ=
导出密钥容器
spnet_regiis-px"Key""d:\Key.xml"
注意:加上-pri参数为导出公钥+私钥
导入密钥容器
aspnet_regiis-pi"Key""d:\Key.xml"
删除密钥容器
aspnet_regiis-pz"Key"
注意:删除密钥程序会报错