zoukankan      html  css  js  c++  java
  • c# DeS 加密解密字符串

     

    public static class DESSecurity

        {

            #region DES加密字符串

            /// <summary>

            /// DES加密方法

            /// </summary>

            /// <param name="plain">明文</param>

            /// <param name="key">密钥</param>

            /// <param name="iv">向量</param>

            /// <param name="isBase64">生成的密码是否用base64编码</param>

            /// <returns>密文</returns>

            public static String EncryptDES(string plain, byte[] rgbKey, byte[] rgbIV)

            {

                if (rgbKey.Length != 8) throw new ArgumentException("长度必须为8", "rgbKey");

                if (rgbIV.Length != 8) throw new ArgumentException("长度必须为8", "rgbIV");

                DESCryptoServiceProvider des = new DESCryptoServiceProvider();

                MemoryStream ms = new MemoryStream();

                CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);

                using (StreamWriter sw = new StreamWriter(cs))

                {

                    sw.Write(plain);

                    sw.Flush();

                    cs.FlushFinalBlock();

                    ms.Flush();

                    return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);

                }

            }

            #endregion

     

            #region DES解密字符串

            /// <summary>

            /// DES解密方法

            /// </summary>

            /// <param name="cipher">密文</param>

            /// <param name="key">密钥</param>

            /// <param name="iv">向量</param>

            /// <param name="isBase64">密文是否用base64解码</param>

            /// <returns>明文</returns>

            public static String DecryptDES(string cipher, byte[] key64, byte[] iv64)

            {

                byte[] bytesCipher;

                bytesCipher = Convert.FromBase64String(cipher);

                DESCryptoServiceProvider des = new DESCryptoServiceProvider();

                MemoryStream ms = new MemoryStream(bytesCipher);

                CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(key64, iv64), CryptoStreamMode.Read);

                using (StreamReader sr = new StreamReader(cs))

                {

                    return sr.ReadToEnd();

                }

            }

            #endregion

        }

  • 相关阅读:
    laravel-excel maatwebsite/excel 新版中文文档
    laravel-excel.com官网英文站
    composer查看镜像地址
    Navicat Premium 通过ssh 连接服务器
    Centos7 yum 出现could not retrieve mirrorlist 最终解决方案
    php 获取随机字符串算法
    apache 配置多域名访问的方法
    laravel 配置多域名最简单的方法
    es6知识点
    如何判断浏览器为ie10以上
  • 原文地址:https://www.cnblogs.com/xianzuoqiaoqi/p/1644207.html
Copyright © 2011-2022 走看看