.net实现对字符串MD5加密解密

using System;   using System.Collections.Generic;   using System.Linq;   using System.Text;   using System.IO;   using System.Security.Cryptography;     namespace BLL   {       public class md5Manger       {          #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       }     }  

转载于:https://www.cnblogs.com/BeamWen_login/archive/2009/06/17/1505417.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值