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

        }

  • 相关阅读:
    逆向
    BUUCTF
    学校健康系统自动打卡
    SQL数据库操作练习(3)
    简单尝试UPX脱壳
    网站WAF-安全狗的绕过(一)
    【题解】担心
    【题解】树上的鼠
    【题解】CF1299B Aerodynamic
    【题解】等你哈苏德
  • 原文地址:https://www.cnblogs.com/xianzuoqiaoqi/p/1644207.html
Copyright © 2011-2022 走看看