一般对连接字符串进行,connectionString存储密文。
连接字符串密码使用占位符,动态替换,在程序初始化的时候,可以从资源文件或者key读取填充。
连接字符串密码使用占位符,动态替换,在程序初始化的时候,可以从资源文件或者key读取填充。
解决方案 »
- 为过程或函数 指定了过多的参数
- 瞧一瞧,看一看啊,会的帮忙解决一下,不会捧个人场啊,简单的jQuery操作表单问题
- ASP.NET MVC3 有几种缓存
- 上传控件 进度条显示 急求给力解决方法!!!!!!!!!!
- 子菜单不能显示的问题
- |zyciis| 救命啊,为什么RegisterStartupScript不能删除也不能替换啊 谢谢
- 怎么限制DropDownList选择
- 菜鸟求助
- 请问大家哪里有DotNetNuke C#版本的下载,最好是VS2005下开发的,多谢了,100分相赠
- 棘手的问题,如果在一个提交页面的时候一个存储过程执行多次?
- .net微信伪登录,获取个人信息
- 请大家进来看看 这是什么问题?
//Web.config数据连接
<appSettings>
<add key="conn" value=" Data Source=(local);Database=db_Henu; Uid=sa;Pwd=" />
</appSettings> <asp:TextBox ID="txtPass" runat="server" onFocus="tPass();" onchange="passHint()"
TextMode="Password" Width="88px"></asp:TextBox>//文本框设置
//输入密码加密
//获取用户填写的密码并使用MD5进行加密
string userPass = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPass.Text, "MD5");
//然后把经过加密的userPass字符串插入到数据库中
第一个是对整个连接字符串进行可逆加密(密钥),程序加载时进行解密
第二个是微软原生支持的加密,即对整个connectionStrings配置节进行加密,具体分私钥加密和公钥加密(DSA,RSA),而且最棒的是你在使用时无需解密,解密由Frame来实现
第一个是对整个连接字符串进行可逆加密(密钥),程序加载时进行解密
第二个是微软原生支持的加密,即对整个connectionStrings配置节进行加密,具体分私钥加密和公钥加密(DSA,RSA),而且最棒的是你在使用时无需解密,解密由Frame来实现
/// <summary>
/// DES公钥
/// </summary>
protected static string KEY_64 = "ABCDEFGH";
/// <summary>
/// DES私钥
/// </summary>
protected static string IV_64 = "ABCDEFGH"; /// <summary>
/// DES加密
/// </summary>
/// <param name="value">要加密的字符串</param>
/// <returns>密文</returns>
public static string DESEncrypt(string value)
{
try
{
byte[] btKEY = Encoding.UTF8.GetBytes(KEY_64.Substring(0, 8));
byte[] btIV = Encoding.UTF8.GetBytes(IV_64.Substring(0, 8));
byte[] btInput = Encoding.UTF8.GetBytes(value); DESCryptoServiceProvider des = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(btKEY, btIV), CryptoStreamMode.Write);
cs.Write(btInput, 0, btInput.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
} /// <summary>
/// DES解密
/// </summary>
/// <param name="value">密文</param>
/// <returns>原文</returns>
public static string DESDecrypt(string value)
{
try
{
byte[] btKEY = Encoding.UTF8.GetBytes(KEY_64.Substring(0, 8));
byte[] btIV = Encoding.UTF8.GetBytes(IV_64.Substring(0, 8));
byte[] btInput = Convert.FromBase64String(value); DESCryptoServiceProvider des = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(btKEY, btIV), CryptoStreamMode.Write);
cs.Write(btInput, 0, btInput.Length);
cs.FlushFinalBlock();
return Encoding.UTF8.GetString(ms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
}