• 用C#实现Des加密和解密


    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();
      }
      }
      }
    记住该记住的,忘记该忘记的,改变能改变的,接受不能改变的!
  • 相关阅读:
    HDU 1878 欧拉回路(DFS)
    HDU 2181 哈密顿绕行世界问题(DFS)
    HDU 1181 变形课(DFS)
    HDU 1029 Ignatius and the Princess IV(map应用)
    HDU 1242 Rescue(BFS)
    HDU 1027 Ignatius and the Princess II(STL)
    将项目部署到本地IIS时出现的奇怪问题
    [转]30个你必须记住的css选择器
    打开一个从网络上下载的chm文件时出现“已取消到该网页的导航”
    [转]使用Modernizr 检测HTML5和CSS3浏览器支持功能
  • 原文地址:https://www.cnblogs.com/yuanermen/p/620129.html
Copyright © 2020-2023  润新知