using LJLib.Tools.Encry; using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace LJLib.Tools.DEncrypt { /// /// DES加密/解密类。 /// Copyright (C) AIFMB /// public class DESEncrypt { public DESEncrypt() { } #region ========加密======== /// /// 加密 /// /// /// public static string Encrypt(string Text) { return Encrypt(Text,"C6F87DF747B948BC90C5864E160743DD"); } /// /// 加密数据 /// /// /// /// public static string Encrypt(string pToEncrypt, string sKey) { using (DESCryptoServiceProvider des = new DESCryptoServiceProvider()) { byte[] inputByteArray = Encoding.UTF8.GetBytes(pToEncrypt); des.Key = BitConverter.GetBytes(CRC64.ComputeAsUTF8String(sKey)); des.IV = BitConverter.GetBytes(CRC64.ComputeAsUTF8String(sKey)); using (MemoryStream ms = new MemoryStream()) using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write)) { cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); cs.Close(); return Convert.ToBase64String(ms.ToArray()); } } } #endregion #region ========解密======== /// /// 解密 /// /// /// public static string Decrypt(string Text) { return Decrypt(Text, "C6F87DF747B948BC90C5864E160743DD"); } /// /// 解密数据 /// /// /// /// public static string Decrypt(string pToDecrypt, string sKey) { using (DESCryptoServiceProvider des = new DESCryptoServiceProvider()) { byte[] inputByteArray = Convert.FromBase64String(pToDecrypt); des.Key = BitConverter.GetBytes(CRC64.ComputeAsUTF8String(sKey)); des.IV = BitConverter.GetBytes(CRC64.ComputeAsUTF8String(sKey)); using (MemoryStream ms = new MemoryStream()) using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write)) { cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); cs.Close(); return Encoding.UTF8.GetString(ms.ToArray()); } } } #endregion } }