using System;
  using System.IO;
  using System.Security.Cryptography;
  
  namespace Vavic
  {
  /// <summary>
  /// Security 的摘要说明。
  /// </summary>
  public class Security
  {
  const string KEY_64 = "VavicApp";
  const string IV_64 = "VavicApp"; //注意了,是8个字符,64位
  
  public Security()
  {
  //
  // TODO: 在此处添加构造函数逻辑
  //
  }
  
  public static string Encode(string data)
  {
  byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
  byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
  
  DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
  int i = cryptoProvider.KeySize;
  MemoryStream ms = new MemoryStream();
  CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateEncryptor(byKey,byIV),CryptoStreamMode.Write);
  
  StreamWriter sw = new StreamWriter(cst);
  sw.Write(data);
  sw.Flush();
  cst.FlushFinalBlock();
  sw.Flush();
  return Convert.ToBase64String(ms.GetBuffer(),0,(int)ms.Length);
  
  }
  
  public static string Decode(string data)
  {
  byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
  byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
  
  byte[] byEnc;
  try
  {
  byEnc = Convert.FromBase64String(data);
  }
  catch
  {
  return null;
  }
  
  DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
  MemoryStream ms = new MemoryStream(byEnc);
  CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateDecryptor(byKey,byIV),CryptoStreamMode.Read);
  StreamReader sr = new StreamReader(cst);
  return sr.ReadToEnd();
  }
  }
  }

相关文章:

  • 2021-07-20
  • 2021-12-07
  • 2021-08-16
  • 2021-09-11
  • 2022-12-23
  • 2021-09-13
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-14
  • 2021-12-02
  • 2022-12-23
  • 2021-08-30
  • 2021-07-09
相关资源
相似解决方案