using System;
using System.IO;
using System.Security.Cryptography;
namespace Common.Helper.Encryption
{
public class DesHelper
{
private const string Key = "Blue2021";
private const string Iv = "Flag2021";
///
/// DES加密
///
/// 加密数据
///
public static string DesEncrypt(string data)
{
var byKey = System.Text.Encoding.ASCII.GetBytes(Key);
var byIv = System.Text.Encoding.ASCII.GetBytes(Iv);
var cryptoProvider = new DESCryptoServiceProvider();
var ms = new MemoryStream();
var cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIv), CryptoStreamMode.Write);
var sw = new StreamWriter(cst);
sw.Write(data);
sw.Flush();
cst.FlushFinalBlock();
sw.Flush();
return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
}
///
/// DES解密
///
/// 解密数据
///
public static string DesDecrypt(string data)
{
var byKey = System.Text.Encoding.ASCII.GetBytes(Key);
var byIv = System.Text.Encoding.ASCII.GetBytes(Iv);
byte[] byEnc;
try
{
byEnc = Convert.FromBase64String(data);
}
catch
{
return null;
}
var cryptoProvider = new DESCryptoServiceProvider();
var ms = new MemoryStream(byEnc);
var cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIv), CryptoStreamMode.Read);
var sr = new StreamReader(cst);
return sr.ReadToEnd();
}
}
}