ASP.NET C# MD5加密 解密
2016-04-19 09:18
627 查看
readonly static string key = "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709";
string MD5_EncodeStr = MD5_Encode(“468498148418”);
Response.Write("[RandomNumMD5Encode]" + MD5_EncodeStr + "[/RandomNumMD5Encode]<br/>");
string MD5_DecodeStr = MD5_Decode(MD5_EncodeStr);
Response.Write("[RandomNumMD5Decode]" + MD5_DecodeStr + "[/RandomNumMD5Decode]<br/>");
/// <summary>
/// 加密
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string MD5_Encode(string data)
{
byte[] byKey = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));
byte[] byIV = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
int i = cryptoProvider.KeySize;
MemoryStream ms = new MemoryStream();
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cst);
cst.Write(System.Text.Encoding.Default.GetBytes(data), 0, System.Text.Encoding.Default.GetByteCount(data));
//sw.Write(data);
sw.Flush();
cst.FlushFinalBlock();
sw.Flush();
return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
}
/// <summary>
/// 解密
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string MD5_Decode(string data)
{
//把密钥转成二进制数组
byte[] byKey = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));
byte[] byIV = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));
byte[] byEnc;
try
{
//base64解码
byEnc = Convert.FromBase64String(data);
}
catch
{
return null;
4000
}
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream(byEnc);
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cst);
byte[] tmp = new byte[ms.Length];
cst.Read(tmp, 0, tmp.Length);
string result = System.Text.Encoding.Default.GetString(tmp);
return result.Replace("\0", "");
}
string MD5_EncodeStr = MD5_Encode(“468498148418”);
Response.Write("[RandomNumMD5Encode]" + MD5_EncodeStr + "[/RandomNumMD5Encode]<br/>");
string MD5_DecodeStr = MD5_Decode(MD5_EncodeStr);
Response.Write("[RandomNumMD5Decode]" + MD5_DecodeStr + "[/RandomNumMD5Decode]<br/>");
/// <summary>
/// 加密
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string MD5_Encode(string data)
{
byte[] byKey = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));
byte[] byIV = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
int i = cryptoProvider.KeySize;
MemoryStream ms = new MemoryStream();
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cst);
cst.Write(System.Text.Encoding.Default.GetBytes(data), 0, System.Text.Encoding.Default.GetByteCount(data));
//sw.Write(data);
sw.Flush();
cst.FlushFinalBlock();
sw.Flush();
return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
}
/// <summary>
/// 解密
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string MD5_Decode(string data)
{
//把密钥转成二进制数组
byte[] byKey = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));
byte[] byIV = System.Text.Encoding.Default.GetBytes(key.Substring(5, 8));
byte[] byEnc;
try
{
//base64解码
byEnc = Convert.FromBase64String(data);
}
catch
{
return null;
4000
}
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream(byEnc);
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cst);
byte[] tmp = new byte[ms.Length];
cst.Read(tmp, 0, tmp.Length);
string result = System.Text.Encoding.Default.GetString(tmp);
return result.Replace("\0", "");
}
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 星外ASP.Net的安全设置相关说明
- C#、ASP.NET通用扩展工具类之TypeParse
- 实现ASP.NET无刷新下载并提示下载完成的开发思路
- C#、ASP.NET通用扩展工具类之LogicSugar
- C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)
- asp MD5加密方式使用建议
- 程序中常用的种代码
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- ASP.NET页面间的传值的几种方法
- 浅谈C#中Md5和Sha1两种加密方式
- 基于C#对用户密码使用MD5加密与解密
- 入侵ASP.net网站的经验附利用代码
- Linux系统递归生成目录中文件的md5的方法
- 盘点PHP和ASP.NET的10大对比!
- ASP.NET MVC4入门教程(四):添加一个模型
- ASP.NET MVC4入门教程(五):从控制器访问数据模型
- ASP.NET中 CheckBox复选框控件的使用
- ASP.NET中BulletedList列表控件使用及详解
- asp.net OleDbCommand 的用法