如何给web.config 的connectionString 加密?

lyshrine 2011-09-13 11:05:09
例如

<connectionStrings>
<add name="EnterpriseWebConnectionString" connectionString="Data Source=. ; Initial Catalog=Enterprise;User ID=sa;Password=1391018" providerName="System.Data.SqlClient"/>
</connectionStrings>

如何给Data Source=. ; Initial Catalog=Enterprise;User ID=sa;Password=1391018" providerName="System.Data.SqlClient 加密?
在程序中如何调用?能否给个例子?有没有方便加解密的小工具呢?
...全文
418 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
风骑士之怒 2011-09-13
  • 打赏
  • 举报
回复
连接字符串加密

@echo off
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "C:\Program Files\Microsoft\.NET Pet Shop 4.0\Web"
PAUSE

连接字符串解密

@echo off
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pdf "connectionStrings" "C:\Program Files\Microsoft\.NET Pet Shop 4.0\Web"
PAUSE
  • 打赏
  • 举报
回复
只要你的程序需要解密成明文,那么有权限接触到你的服务器的人,注入两三行代码把你的明文打印出来还是非常简单的。
lyshrine 2011-09-13
  • 打赏
  • 举报
回复
多谢Abbey,如果有例子就更好了o(∩_∩)o
老毕 2011-09-13
  • 打赏
  • 举报
回复
1. .NET本身已经提供有Encrypt命名空间的一些加密算法,有对称的,也有非对称的。当然,你也可以设计自己的一个加密算法。
2. 无论是Web应用,还是Winform应用,连接串都通常是保存在web.config或者app.config里的,并且提供了相应的一个Singleton模式的类来提供对连接串的访问。
3. 你需要做的,就是每次连接前,利用这个Singleton类把连接串密文取出,解密后再把明文作为参数传递给Connection对象的构造子进行连接。
sihonglaoren 2011-09-13
  • 打赏
  • 举报
回复
怎么没有一个能得分的,生气。
用于加密.net WebForm的Web.Config文件中的数据库连接字符串. 本软件支持.net 2.0 和 .net 4.0. 注意事项: 1.需要安装.net4.0运行库才能运行. 2.程序中需要获取web.config路径时,可以使用复制把web.config所在路径粘贴到程序中.快捷键不是Ctrl + V而是右键选择"编辑"-"粘贴".如果右键点击程序窗口无效,可以右键点击程序标题栏. 扩展知识: 连接字符串的安全性 一、尽量使用windows验证而不是sql server验证: 1、安全性易管理 2、不需要设置用户名和密码(这样传递的时候不会被截取吧) 3、密码不会通过明文在网络上传播 原因:如果用sql server验证在配置文件中的话,用户名和密码很容易被别人看到,但是如果你用windows验证的话,用户名和密码是存储在本机windows文件中的 这就很难被人发现。 二、sql server身份验证 1、强制实施密码策略 2、强制密码过期 3、用户在下次登录时必须更改密码 怎么设置:直接在sql server中进行设置 如果是sql server验证的话,Persist security info 一定设置为false,这样会保证敏感信息不被暴露(如ID、密码)。 三、防止sql注入攻击: 这个注入好像是打开Min Pool Size=999999一个很大的值,来破坏数据库。 这个链接保护的方法最好是: Date Source=(local);Initial Catalog=Works;User ID=sa;Password="password01!;Pooling=true" 看到后面没有,加一个双引号。 四、在配置文件存储链接字符串: <configuration> <connectionStrings configSource="connection.config"> configuration> 然后在connection.config里有这样的设置: <connectionStrings> connectionString="server......"> connectionStrings> 注意:connection.config属性需要设置,设置为复制到应用程序里面。不然web.config就找不到这个文件。 五、用RSA非对称加密。网上查。 六、asp.net iis注册工具(aspnet_regiis.exe) 使用加密:aspnet_regiis -pef "connectionStrings" F:\study\ComputerDM\Web 解密:aspnet_regiis -pdf "connectionStrings" F:\study\ComputerDM\Web

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧