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

        }

  • 相关阅读:
    转载: Ubuntu 在命令下,安装中文环境的方法。
    java复制文件范例代码
    Cesium-entiy闪烁范例
    转载:贝塞尔曲线计算公式
    转载: utm坐标和经纬度相互转换
    arcgis 地图如何转到supermap平台
    Linux查看修改文件句柄数
    转载:Linux目录文件的权限查看与修改
    欧拉系统-登陆 SSH 出现 Access Denied 错误
    关于 nodejs sequelize 事务批量拆分
  • 原文地址:https://www.cnblogs.com/xianzuoqiaoqi/p/1644207.html
Copyright © 2011-2022 走看看