webconfig 连接字符串加密和解密
我想把他加密解密掉,网上资料很多是命令方式,跟机子有关,不爽啊,
请问有没有不跟机子有关的,简单的加密解密的技术
我就是想把连接字符串藏起来
我想把他加密解密掉,网上资料很多是命令方式,跟机子有关,不爽啊,
请问有没有不跟机子有关的,简单的加密解密的技术
我就是想把连接字符串藏起来
解决方案 »
- 如何实现中英文网站 asp.net
- SQL查询几条数据
- datatable 如何将 一列上的多行 转换 成一行上的多列
- SQL查询问题
- 关于gridview模板小问题,分不多了,回头另给,谢谢了。。。在线等!!
- 为什么后台代码中的FindControl找不到input控件?
- 請教 Could not find installable ISAM 的問題!
- 极度郁闷,jmail发邮件发送失败,直接返回false。分数是浮云,解决了问题,想要多少送多少
- 用sqlbulkcopy 把DataTable里的资料导入数据库
- 如何实现静态页跳转分页
- mono全免费吗?
- Visual Studio 2008 怎么去掉表格的自动样式?
http://msdn.microsoft.com/zh-cn/library/system.security.cryptography.descryptoserviceprovider.aspx.NET Framework 类库
DESCryptoServiceProvider 类定义访问数据加密标准 ( DES) 算法的加密服务提供程序 (CSP) 版本的包装对象。
加密后无法解密。以下是一组加密解密的方法。你可以在保存连接字符串前进行加密,使用连接字符串时再解密后使用。 /// <summary>
/// 名称:Encrypt
/// DES对称加密函数
/// </summary>
/// <param name="str">需加密字符串</param>
/// <param name="pkey">密匙</param>
/// <returns>返回用指定密匙加密的字符串</returns>
public static string Encrypt(string str, string pkey)
{
try
{
byte[] bt = (new System.Text.UnicodeEncoding()).GetBytes(str);
PasswordDeriveBytes pdb = new PasswordDeriveBytes(pkey, null);
byte[] key = pdb.GetBytes(24);
byte[] iv = pdb.GetBytes(8);
MemoryStream ms = new MemoryStream();
TripleDESCryptoServiceProvider tdesc = new TripleDESCryptoServiceProvider();
CryptoStream cs = new CryptoStream(ms, tdesc.CreateEncryptor(key, iv), CryptoStreamMode.Write);
cs.Write(bt, 0, bt.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
} /// <summary>
/// 名称:Decrypt
/// DES对称解密函数
/// </summary>
/// <param name="str">需解密字符串</param>
/// <param name="pkey">密匙</param>
/// <returns>返回用指定密匙解密的字符串</returns>
public static string Decrypt(string str, string pkey)
{
try
{
byte[] bt = Convert.FromBase64String(str);
PasswordDeriveBytes pdb = new PasswordDeriveBytes(pkey, null);
byte[] key = pdb.GetBytes(24);
byte[] iv = pdb.GetBytes(8);
MemoryStream ms = new MemoryStream();
TripleDESCryptoServiceProvider tdesc = new TripleDESCryptoServiceProvider();
CryptoStream cs = new CryptoStream(ms, tdesc.CreateDecryptor(key, iv), CryptoStreamMode.Write);
cs.Write(bt, 0, bt.Length);
cs.FlushFinalBlock();
return (new System.Text.UnicodeEncoding()).GetString(ms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
}