using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace Company.Common.Utils
{
public class EasyEncript
{
///
/// 密匙
///
public const string PwdKey = “AB1CD2EF”;
///
/// 加密
///
/// 解密文本
/// 解密密码
///
public static string Encrypt(string text, string key)
{
DESCryptoServiceProvider dESCryptoServiceProvider = new DESCryptoServiceProvider();
byte[] bytes = Encoding.UTF8.GetBytes(text);
dESCryptoServiceProvider.Key = (Encoding.ASCII.GetBytes(key));
dESCryptoServiceProvider.IV = (Encoding.ASCII.GetBytes(key));
//new add
//dESCryptoServiceProvider.Padding = PaddingMode.Zeros;
//new add
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream, dESCryptoServiceProvider.CreateEncryptor(), CryptoStreamMode.Write);
cryptoStream.Write(bytes, 0, bytes.Length);
cryptoStream.Close();
byte[] array = memoryStream.ToArray();
return Convert.ToBase64String(array);
}
///
/// 解密
///
/// 解密文本
/// 解密密码
///
public static string Decrypt(string text, string key)
{
DESCryptoServiceProvider dESCryptoServiceProvider = new DESCryptoServiceProvider();
byte[] array = Convert.FromBase64String(text);
dESCryptoServiceProvider.Key = (Encoding.ASCII.GetBytes(key));
dESCryptoServiceProvider.IV = (Encoding.ASCII.GetBytes(key));
//new add
//dESCryptoServiceProvider.Padding = PaddingMode.Zeros;
//new add
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream, dESCryptoServiceProvider.CreateDecryptor(), CryptoStreamMode.Write);
cryptoStream.Write(array, 0, array.Length);
// cryptoStream.FlushFinalBlock();
cryptoStream.Close();
StringBuilder stringBuilder = new StringBuilder();
return Encoding.UTF8.GetString(memoryStream.ToArray());
}