using System;
|
using System.IO;
|
using System.Security.Cryptography;
|
using System.Text;
|
|
namespace ZigBee.Common
|
{
|
public static class EncryptionService
|
{
|
/// <summary>
|
/// 使用DES进行加密
|
/// </summary>
|
/// <param name="pToEncrypt"></param>
|
/// <param name="key"></param>
|
/// <returns></returns>
|
public static string DESEncrypt(string pToEncrypt, string key)
|
{
|
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
|
{
|
byte[] inputByteArray = Encoding.UTF8.GetBytes(pToEncrypt);
|
des.Key = ASCIIEncoding.ASCII.GetBytes(key);
|
des.IV = ASCIIEncoding.ASCII.GetBytes(key);
|
|
MemoryStream ms = new MemoryStream();
|
|
using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
|
{
|
cs.Write(inputByteArray, 0, inputByteArray.Length);
|
cs.FlushFinalBlock();
|
cs.Close();
|
}
|
string str = Convert.ToBase64String(ms.ToArray());
|
ms.Close();
|
return str;
|
}
|
}
|
/// <summary>
|
/// 使用DES进行解密
|
/// </summary>
|
/// <param name="pToDecrypt"></param>
|
/// <param name="key"></param>
|
/// <returns></returns>
|
public static string DESDecrypt(string pToDecrypt, string key)
|
{
|
byte[] inputByteArray = Convert.FromBase64String(pToDecrypt);
|
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
|
{
|
des.Key = ASCIIEncoding.ASCII.GetBytes(key);
|
des.IV = ASCIIEncoding.ASCII.GetBytes(key);
|
|
MemoryStream ms = new MemoryStream();
|
using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
|
{
|
cs.Write(inputByteArray, 0, inputByteArray.Length);
|
cs.FlushFinalBlock();
|
cs.Close();
|
}
|
string str = Encoding.UTF8.GetString(ms.ToArray());
|
ms.Close();
|
return str;
|
}
|
}
|
}
|
}
|