• DES加密解密


    /// <summary>
    /// des加密
    /// </summary>
    /// <param name="text">加密内容</param>
    /// <param name="key">密码(可自己设置8位数密码)</param>
    /// <returns></returns>
    public static string Encrypt(string text, string key)
    {
    DESCryptoServiceProvider des = new DESCryptoServiceProvider();
    byte[] inputByteArray = Encoding.GetEncoding("UTF-8").GetBytes(text);

    byte[] a = ASCIIEncoding.ASCII.GetBytes(key);
    des.Key = ASCIIEncoding.ASCII.GetBytes(key);
    des.IV = ASCIIEncoding.ASCII.GetBytes(key);
    MemoryStream ms = new MemoryStream();
    CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);

    cs.Write(inputByteArray, 0, inputByteArray.Length);
    cs.FlushFinalBlock();

    StringBuilder ret = new StringBuilder();
    foreach (byte b in ms.ToArray())
    {
    ret.AppendFormat("{0:X2}", b);//将第一个参数转换为十六进制数,长度为2,不足前面补0
    }
    return ret.ToString();
    }

    /// <summary>
    /// des解密
    /// </summary>
    /// <param name="cyphertext">解密内容</param>
    /// <param name="key">密码(可自己设置8位数密码)</param>
    /// <returns></returns>
    public static string Decrypt(string cyphertext, string key)
    {
    if (string.IsNullOrEmpty(cyphertext))
    return string.Empty;
    DESCryptoServiceProvider des = new DESCryptoServiceProvider();

    byte[] inputByteArray = new byte[cyphertext.Length / 2];
    for (int x = 0; x < cyphertext.Length / 2; x++)
    {
    int i = (Convert.ToInt32(cyphertext.Substring(x * 2, 2), 16));
    inputByteArray[x] = (byte)i;
    }

    des.Key = ASCIIEncoding.ASCII.GetBytes(key);
    des.IV = ASCIIEncoding.ASCII.GetBytes(key);
    MemoryStream ms = new MemoryStream();
    CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
    cs.Write(inputByteArray, 0, inputByteArray.Length);
    cs.FlushFinalBlock();

    StringBuilder ret = new StringBuilder();

    return System.Text.Encoding.GetEncoding("UTF-8").GetString(ms.ToArray());
    }

    作者:D调灬仔
    出处:https://www.cnblogs.com/chj929555796/
    您的推荐是我最大的动力,如果觉得这篇文章对你有帮助的话,请点个“推荐”哦,博主在此感谢!
  • 相关阅读:
    php 中的 Output Control 函数
    web安全知识
    php写一个web五子棋
    实现一个web服务器, 支持php
    字节序
    TinyHTTPd源码分析
    linux 管道通信
    linux网络编程
    微信公众号开发-静默授权实现消息推送(微服务方式)
    初学 Nginx
  • 原文地址:https://www.cnblogs.com/chj929555796/p/5474208.html
Copyright © 2020-2023  润新知