• C#字符串加密解密


    /// <summary>
    /// 加密字符串
    /// 注意:密钥必须为8位
    /// </summary>
    /// <param name="strText">字符串</param>
    /// <param name="encryptKey">密钥</param>
    /// <param name="encryptKey">返回加密后的字符串</param>
    public string DesEncrypt(string inputString, string encryptKey)
    {
    byte[] byKey = null;
    byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
    try
    {
    byKey = System.Text.Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
    DESCryptoServiceProvider des = new DESCryptoServiceProvider();
    byte[] inputByteArray = Encoding.UTF8.GetBytes(inputString);
    MemoryStream ms = new MemoryStream();
    CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write);
    cs.Write(inputByteArray, 0, inputByteArray.Length);
    cs.FlushFinalBlock();
    return Convert.ToBase64String(ms.ToArray());
    }
    catch (System.Exception error)
    {
    //return error.Message;
    return null;
    }
    }
    /// <summary>
    /// 解密字符串
    /// </summary>
    /// <param name="this.inputString">加了密的字符串</param>
    /// <param name="decryptKey">密钥</param>
    /// <param name="decryptKey">返回解密后的字符串</param>
    public string DesDecrypt(string inputString, string decryptKey)
    {
    byte[] byKey = null;
    byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
    byte[] inputByteArray = new Byte[inputString.Length];
    try
    {
    byKey = System.Text.Encoding.UTF8.GetBytes(decryptKey.Substring(0, 8));
    DESCryptoServiceProvider des = new DESCryptoServiceProvider();
    inputByteArray = Convert.FromBase64String(inputString);
    MemoryStream ms = new MemoryStream();
    CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write);
    cs.Write(inputByteArray, 0, inputByteArray.Length);
    cs.FlushFinalBlock();
    System.Text.Encoding encoding = new System.Text.UTF8Encoding();
    return encoding.GetString(ms.ToArray());
    }
    catch (System.Exception error)
    {
    //return error.Message;
    return null;
    }
    }

  • 相关阅读:
    C#学习笔记一类型转换、枚举、foreach
    C#学习笔记四ref out参数
    SQL学习笔记一SQL基础
    C#学习笔记七索引器
    QUIC和TCP
    接口测试——测试点
    linux下 服务器资源监控工具nmon安装与使用
    Python执行.sh脚本cataline环境变量配置
    linux 常用命令之运行.sh文件
    jacoco+ant安装部署篇
  • 原文地址:https://www.cnblogs.com/lihaishu/p/4449406.html
Copyright © 2020-2023  润新知