ASP.NET数据库连接字符串的加密与解密

ASP.NET web.config中,数据库连接字符串的加密与解密。

虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容

加密:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "你的Web项目路径"

解密:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pdf "connectionStrings" "你的Web项目路径"

.NET为版本的路径自行修改,其中connectionStrings连接字符串的名称。

需要注意的是,加密过程中使用了一个基于本机的密钥,这意味着解密过程必须在同一台计算机上完成。如果是将加密后的Web.config文件移动到其它计算机上,那么Web.config文件中的连接字符串将不能够正常解密。

ASP.net2.0提供了简便的加密方法,即使用aspnet_iis.exe命令,该命令位置如下:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

注意,具体情况视系统位置及版本号有所差异

在命令模式下进入该目录即可运行,完整命令为:

aspnet_iis -pef "connectionStrings"
"Web.cofing绝对路径(注:不需要输入web.config)"

如果正常会提示“成功”,此时打开Web.config会发现字符串已加密

解密命令为:

aspnet_iis -pdf "connectionStrings"
"Web.cofing绝对路径(注:不需要输入web.config)"

注意的是加密、解密必须在一台机器上完成。

-----------------------------

下面显示的是通过代码方式对数据库连接字符串加密,代码如下:

Configuration config =
WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);

ConfigurationSection configSection =
config.GetSection("connectionStrings");

if
(configSection.SectionInformation.IsProtected)

...{//如果已经加密,就不用再加密了

configSection.SectionInformation.UnprotectSection();

config.Save();

}

else

...{

configSection.SectionInformation.ProtectSection
("DataProtectionConfigurationProvider");

config.Save();

}

ASP.NET数据库连接字符串的加密与解密,布布扣,bubuko.com

时间: 2024-12-25 12:02:40

ASP.NET数据库连接字符串的加密与解密的相关文章

字符串的加密与解密

加密过程涉及到四个对象:明文.StreamWriter.CryptoStream.MemoryStream 那么以上四个对象是如何联系起来的呢? MemoryStream是尾,明文是头 整个加密过程完成后,暗文在MemoryStream中. 逆向理解下加密过程...... 1.首先在内存中生存MemoryStream对象: MemoryStream ms = new MemoryStream(); 2.告诉CryptoStream,把加密后的字节流存储到MemoryStream中 上面的"存储&

web.config的数据库连接字符串进行加密

连接参考:http://wenku.baidu.com/link?url=nwGug8wxz143A4pvBE_kN6vMU7aF3ojwCKJOyN-TQleZ07iAYrjx_FnFVDOtZAF8gbJ8UIwZXoPMWk7J0iZNd3IP_niggQGMLr2A6UgTcC3 旧版本的ASP.NET将连接字符串直接保存在ASPX页面中.回想一下,连接字符串包 含了数据服务器名称和用户账户等信息,有时候甚至还包含了密码.在代码中包含以上信息是非常不好的习惯,原因有二.首先,这些信息可以

字符串的加密与解密(二)

二.可逆加密 以下的几种加密和解密均要添加对System.Security.Cryptography命名空间的引用: using System.Security.Cryptography; 1.DES public class DESDemo { /// <summary> /// 向量 /// 向量的长度为8位,也就是DES算法的块大小,经本人亲测,若小于8位程序会抛出异常, /// 若大于8位,则8位以后的不起作用. /// 字节数组里的值可以根据个人需要进行更改 /// 这个参数也可使用

字符串的加密与解密(一)

    前段时间自己琢磨着写个给字符串加密和解密的小程序,在网上找了一些代码,稍做整理,记录如下:     一.不可逆加密     1.MD5     (之前一直以为经过MD5加密是不可逆的,今天在网上竟然找到个网址可以解密,试了一下,真的可以哦!) /// <summary> /// 使用MD5加密字符串 /// </summary> /// <param name="source">待加密的字符串</param> /// <re

asp.net中实现MD5加密、解密的方法

这个MD5加密.解密的方法会使用即可. 使用时的代码备忘:Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile("要加密的字符串", "MD5")); 以下是加密.解密的代码部分: /*用法 protected void Page_Load(object sender, EventArgs e) { //加密 this.Title = CEncrypt.DesEncrypt(&qu

C#一个字符串的加密与解密

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; using System.IO;   namespace ConsoleApplication1 {     class Program     {         static string encryptKey = "Oyea";    //

ASP.NET数据库连接字符串总结

一.使用OleDbConnection对象连接OLE DB数据源 1.连接Access 数据库 Access 2000: “provider=Microsoft.Jet.Oledb.3.5;Data Source=Access文件路径” Access 2003: “provider=Microsoft.Jet.Oledb.4.0;Data Source=Access文件路径” Access 2007: “provider=Microsoft.Ace.Oledb.12.0;Data Source=

字符串base64加密、解密

//base64加密(字符串经过base64加密之后得到的新的字符串)NSData *data = [@"iOS Developer Tips" dataUsingEncoding:NSUTF8StringEncoding]; NSString *base64Encoded = [data base64EncodedStringWithOptions:0]; //base64解密(base64加密的字符串经过base64解密之后得到的新的字符串) NSData *nsdataDecod

Asp.Net 数据库连接字符串

1 <configuration> 2 <connectionStrings> 3 <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLExpress;AttachDBFilename=|DataDirectory|aspnetdb.mdf;Initial Catalog=as