using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
namespace YX.Common.DotNetEncrypt
{
///
/// 加密、解密帮助类
///
public static class DESEncrypt
{
private static string Key = "sam";//再次加密Key
private static byte[] MakeMD5(byte[] original)
{
MD5CryptoServiceProvider mD5CryptoServiceProvider = new MD5CryptoServiceProvider();
return mD5CryptoServiceProvider.ComputeHash(original);
}
///
/// 加密
///
///
///
///
public static string Encrypt(string MingWen, string KeyString)
{
byte[] bytes = Encoding.Default.GetBytes(MingWen);
byte[] bytes2 = Encoding.Default.GetBytes(KeyString + Key);
return Convert.ToBase64String(new TripleDESCryptoServiceProvider
{
Key = DESEncrypt.MakeMD5(bytes2),
Mode = CipherMode.ECB
}.CreateEncryptor().TransformFinalBlock(bytes, 0, bytes.Length));
}
///
/// 解密
///
/// 解密字符串
/// 解密key ;解密key 要与加密key一致
///
public static string Decrypt(string MiWen, string KeyString)
{
string result = "";
try
{
byte[] array = Convert.FromBase64String(MiWen);
byte[] bytes = Encoding.Default.GetBytes(KeyString + Key);//key再次加Key
TripleDESCryptoServiceProvider tripleDESCryptoServiceProvider = new TripleDESCryptoServiceProvider();
tripleDESCryptoServiceProvider.Key = DESEncrypt.MakeMD5(bytes);
tripleDESCryptoServiceProvider.Mode = CipherMode.ECB;
result = Encoding.Default.GetString(tripleDESCryptoServiceProvider.CreateDecryptor().TransformFinalBlock(array, 0, array.Length));
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message,"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
return result;
}
}
}