您的位置:首页 > 编程语言 > C#

C# 常用加密方法

2012-05-09 16:29 381 查看
1.一般加密用户的敏感数据,都采用不可逆的加密方式如:MD5

示例:MD5

System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("lin.su", "MD5");

HSA1:

System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("lin.su", "SHA1");

2.加密字符串

示例:

/// <summary>
/// 加密字符串
/// </summary>
/// <param name="str">加密字符串对象</param>
/// <param name="keys">密钥</param>
/// <param name="rgbIv">初始化向量</param>
/// <returns></returns>
string EncryString(string str, byte[] keys, byte[] rgbIv)
{

byte[] strs = System.Text.Encoding.Unicode.GetBytes(str);

//定义加密数据标准 DESCryptoServiceProvider
System.Security.Cryptography.DESCryptoServiceProvider desc = new System.Security.Cryptography.DESCryptoServiceProvider();
System.IO.MemoryStream mStream = new System.IO.MemoryStream();

System.Security.Cryptography.ICryptoTransform transform = desc.CreateEncryptor(keys, rgbIv);//加密对象
System.Security.Cryptography.CryptoStream cStream = new System.Security.Cryptography.CryptoStream(mStream, transform, System.Security.Cryptography.CryptoStreamMode.Write);
cStream.Write(strs, 0, strs.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());
}

/// <summary>
/// 解密字符串
/// </summary>
/// <param name="str">解密字符串对象</param>
/// <param name="keys">密钥</param>
/// <param name="rgbIv">初始化向量</param>
/// <returns></returns>
string DecryString(string str, byte[] keys, byte[] rgbIv)
{
byte[] strs = Convert.FromBase64String(str);

System.Security.Cryptography.DESCryptoServiceProvider desc = new System.Security.Cryptography.DESCryptoServiceProvider();
System.IO.MemoryStream mStream = new System.IO.MemoryStream();

System.Security.Cryptography.ICryptoTransform transform = desc.CreateDecryptor(keys, rgbIv);//解密对象

System.Security.Cryptography.CryptoStream cStream = new System.Security.Cryptography.CryptoStream(mStream, transform, System.Security.Cryptography.CryptoStreamMode.Write);
cStream.Write(strs, 0, strs.Length);
cStream.FlushFinalBlock();
return System.Text.Encoding.Unicode.GetString(mStream.ToArray());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: