• 通用DES加密解密方法


    /// <summary>
    /// DES加密方法
    /// </summary>
    /// <param name="strPlain">明文</param>
    /// <param name="strDESKey">密钥</param>
    /// <param name="strDESIV">向量</param>
    /// <returns>密文</returns>
    public string Encrypt(string source,string _DESKey)
    {
    StringBuilder sb = new StringBuilder();
    using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
    {
    byte[] key = ASCIIEncoding.ASCII.GetBytes(_DESKey);
    byte[] iv = ASCIIEncoding.ASCII.GetBytes(_DESKey);
    byte[] dataByteArray = Encoding.UTF8.GetBytes(source);
    des.Mode = System.Security.Cryptography.CipherMode.CBC;
    des.Key = key;
    des.IV = iv;
    string encrypt = "";
    using (MemoryStream ms = new MemoryStream())
    using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
    {
    cs.Write(dataByteArray, 0, dataByteArray.Length);
    cs.FlushFinalBlock();
    //輸出資料
    foreach (byte b in ms.ToArray())
    {
    sb.AppendFormat("{0:X2}", b);
    }
    encrypt = sb.ToString();
    }
    return encrypt;
    }

    }

    /// <summary>
    /// 进行DES解密。
    /// </summary>
    /// <param name="pToDecrypt">要解密的串</param>
    /// <param name="sKey">密钥,且必须为8位。</param>
    /// <returns>已解密的字符串。</returns>
    public string Decrypt(string source, string sKey)
    {
    byte[] inputByteArray = Encoding.UTF8.GetBytes(source);
    using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
    {
    des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
    des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
    System.IO.MemoryStream ms = new System.IO.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;
    }

  • 相关阅读:
    Spark2.0机器学习系列之12: 线性回归及L1、L2正则化区别与稀疏解
    Spark2.0机器学习系列之11: 聚类(幂迭代聚类, power iteration clustering, PIC)
    mysql 5.7.16多源复制
    Windows版 mysql 5.7.16安装
    一分钟经理人
    转 spring官方文档中文版
    MySQL执行计划 EXPLAIN参数
    sql 转 markdown
    Linux下安装MySQL5.6
    MyBatis完全使用指南
  • 原文地址:https://www.cnblogs.com/lxny/p/6760728.html
Copyright © 2020-2023  润新知