.NET中实现对字符串MD5加密解密
2010-10-19 11:43
357 查看
#region MD5加密 /// <summary> /// MD5加密 /// </summary> /// <param name="strSource">需要加密的字符串</param> /// <returns>MD5加密后的字符串</returns> public static string Md5Encrypt(string strSource) { //把字符串放到byte数组中 byte[] bytIn = System.Text.Encoding.Default.GetBytes(strSource); //建立加密对象的密钥和偏移量 byte[] iv = { 102, 16, 93, 156, 78, 4, 218, 32 };//定义偏移量 byte[] key = { 55, 103, 246, 79, 36, 99, 167, 3 };//定义密钥 //实例DES加密类 DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider(); mobjCryptoService.Key = iv; mobjCryptoService.IV = key; ICryptoTransform encrypto = mobjCryptoService.CreateEncryptor(); //实例MemoryStream流加密密文件 System.IO.MemoryStream ms = new System.IO.MemoryStream(); CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write); cs.Write(bytIn, 0, bytIn.Length); cs.FlushFinalBlock(); return System.Convert.ToBase64String(ms.ToArray()); } #endregion #region MD5解密 /// <summary> /// MD5解密 /// </summary> /// <param name="Source">需要解密的字符串</param> /// <returns>MD5解密后的字符串</returns> public static string Md5Decrypt(string Source) { //将解密字符串转换成字节数组 byte[] bytIn = System.Convert.FromBase64String(Source); //给出解密的密钥和偏移量,密钥和偏移量必须与加密时的密钥和偏移量相同 byte[] iv = { 102, 16, 93, 156, 78, 4, 218, 32 };//定义偏移量 byte[] key = { 55, 103, 246, 79, 36, 99, 167, 3 };//定义密钥 DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider(); mobjCryptoService.Key = iv; mobjCryptoService.IV = key; //实例流进行解密 System.IO.MemoryStream ms = new System.IO.MemoryStream(bytIn, 0, bytIn.Length); ICryptoTransform encrypto = mobjCryptoService.CreateDecryptor(); CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read); StreamReader strd = new StreamReader(cs, Encoding.Default); return strd.ReadToEnd(); } #endregion
注意的是 需要引入 using System.Security.Cryptography;
相关文章推荐
- NET实现RSA AES DES 字符串 加密解密以及SHA1 MD5加密
- Java实现MD5加密与解密
- .net实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密
- 使用python3的base64编解码实现字符串的简易加密解密
- 用C#实现字符串的加密解密操作
- .net中实现运行时从字符串动态创建对象
- .NET和JAVA中BYTE的区别以及JAVA中“DES/CBC/PKCS5PADDING” 加密解密在.NET中的实现
- java实现字符串非对称加密(私钥加密,公钥解密并对比)
- c语言实现对密码(字符串)进行加密,并解密
- .net中MD5加密和解密
- android中使用jni对字符串加解密实现分析
- 微信消息体签名及加解密功能详细解析以及.net实现
- Java实现MD5加密及解密的代码实例分享
- js实现字符串的加密与解密
- .NET中RAS加解密和签名与验证的c#实现代码讲解,及实现程序提供
- .net知识系列之七:底层解密(ASP.NET底层之旅,HttpApplication类实例,HttpApplication及Global.asax,实现自定义文件类型处理)
- 字符串实现Base64加密/解密
- java实现DES加密与解密,md5加密
- C#实现字符串,文件获取Md5加密校验方法
- .Net用字符串拼接实现表格数据相同时合并单元格