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());
}
示例: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());
}
相关文章推荐
- C# Security 常用加密方法(针对string 的处理)
- C#开发中常用加密解密方法解析
- C#常用的加密解密方法
- C#常用加密方法解析
- C#中常用的字符串加密,解密方法封装,包含只加密,不解密的方法
- C#常用字符串加密解密方法封装代码
- C#开发中常用加密解密方法解析
- c#常用的加密解密方法
- C#常用加密方法
- C#中,常用的加密解密方法解析
- C#常用加密方法分析
- C#几种常用的加密方法
- C# 常用加密方法收集 对称,非对称
- C#常用加密方法解析
- C# 常用加密方法收集 对称,非对称
- C# 常用字符串加密解密方法
- C# 常用加密解密方法
- C#常用字符串加密解密方法封装代码
- C#开发中常用加密解密方法解析
- Unity3d C# 脚本学习小结(二) 【常用方法】