zoukankan      html  css  js  c++  java
  • 加密解密算法

     1 using System;
     2 using System.IO;
     3 using System.Security.Cryptography;
     4 
     5 namespace COMMON
     6 {
     7     public class CodeCommon
     8     {
     9         #region 加密
    10         const string KEY_64 = "VavicApp";//注意了,是8个字符,64位
    11 
    12         const string IV_64 = "VavicApp";
    13         static public string Encode(string data)
    14         {
    15             byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
    16             byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
    17 
    18             DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
    19             int i = cryptoProvider.KeySize;
    20             MemoryStream ms = new MemoryStream();
    21             CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write);
    22 
    23             StreamWriter sw = new StreamWriter(cst);
    24             sw.Write(data);
    25             sw.Flush();
    26             cst.FlushFinalBlock();
    27             sw.Flush();
    28             return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
    29 
    30         }
    31         #endregion
    32 
    33         #region 解密
    34         static public string Decode(string data)
    35         {
    36             byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
    37             byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
    38 
    39             byte[] byEnc;
    40             try
    41             {
    42                 byEnc = Convert.FromBase64String(data);
    43             }
    44             catch
    45             {
    46                 return null;
    47             }
    48 
    49             DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
    50             MemoryStream ms = new MemoryStream(byEnc);
    51             CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read);
    52             StreamReader sr = new StreamReader(cst);
    53             return sr.ReadToEnd();
    54         }
    55         #endregion
    56     }
    57 }
  • 相关阅读:
    C++实现合并两个已经排序的链表
    C++实现查找链表中环的入口节点
    IOU
    梯度下降法
    ubuntu下opencv CMakeLists.txt编写
    vs2015运行时提示未加载vcruntime140.adm64.pb
    opencv图像加文字与运行时间
    github下载总是失败解决
    vs2015配置cv文件,不用每次新建项目在配置
    Microsoft visual studio 2015已停止工作最全解决办法
  • 原文地址:https://www.cnblogs.com/Sunflower-/p/5531076.html
Copyright © 2011-2022 走看看