C# MD5加密解密

来源:互联网 发布:maya2016汉化补丁 mac 编辑:程序博客网 时间:2024/04/28 16:39
using System.Security.Cryptography;         ///MD5加密        private string MD5Encrypt(string pToEncrypt) {            DESCryptoServiceProvider desCrypto = (DESCryptoServiceProvider)DESCryptoServiceProvider.Create();            string sKey = ASCIIEncoding.ASCII.GetString(desCrypto.Key);            DESCryptoServiceProvider des = new DESCryptoServiceProvider();            byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);            des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);            des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);            MemoryStream ms = new MemoryStream();            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);            cs.Write(inputByteArray, 0, inputByteArray.Length);            cs.FlushFinalBlock();            StringBuilder ret = new StringBuilder();            foreach (byte b in ms.ToArray()) {                ret.AppendFormat("{0:X2}", b);            }            ret.ToString();            return ret.ToString();        }        ///MD5解密        private string MD5Decrypt(string pToDecrypt) {            DESCryptoServiceProvider desCrypto = (DESCryptoServiceProvider)DESCryptoServiceProvider.Create();            string sKey = ASCIIEncoding.ASCII.GetString(desCrypto.Key);            DESCryptoServiceProvider des = new DESCryptoServiceProvider();            byte[] inputByteArray = new byte[pToDecrypt.Length / 2];            for (int x = 0; x < pToDecrypt.Length / 2; x++) {                int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));                inputByteArray[x] = (byte)i;            }            des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);            des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);            MemoryStream ms = new MemoryStream();            CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);            cs.Write(inputByteArray, 0, inputByteArray.Length);            cs.FlushFinalBlock();            return System.Text.Encoding.Default.GetString(ms.ToArray());        }