热门关键字: php net javascript java
Just Internet && Only Internet
您的位置:csharp > C#DES加密解密
C#DES加密解密
发布时间:2017-09-16 06:46:24



    /// <summary>
    /// 进行DES加密。
    /// </summary>
    /// <param name="pToEncrypt">要加密的字符串。</param>
    /// <param name="sKey">密钥,且必须为8位。</param>
    /// <returns>以Base64格式返回的加密字符串。</returns>
    public string Encrypt(string pToEncrypt, string sKey)
    {
        using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
        {
            byte[] inputByteArray = Encoding.UTF8.GetBytes(pToEncrypt);
            des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
            des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
            {
                cs.Write(inputByteArray, 0, inputByteArray.Length);
                cs.FlushFinalBlock();
                cs.Close();
            }
            string str = Convert.ToBase64String(ms.ToArray());
            ms.Close();
            return str;
        }
    }

   
    // <summary>
    // 进行DES解密。
    // </summary>
    // <param name="pToDecrypt">要解密的以Base64</param>
    // <param name="sKey">密钥,且必须为8位。</param>
    // <returns>已解密的字符串。</returns>
    public string Decrypt(string pToDecrypt, string sKey)
    {
         byte[] inputByteArray = Convert.FromBase64String(pToDecrypt);
         using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
         {
             des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
             des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
             System.IO.MemoryStream ms = new System.IO.MemoryStream();
             using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
             {
                 cs.Write(inputByteArray, 0, inputByteArray.Length);
                 cs.FlushFinalBlock();
                 cs.Close();
             }
             string str = Encoding.UTF8.GetString(ms.ToArray());
             ms.Close();
             return str;
         }
    }


登录 评论文章
声明:本站部分内容来自网络,如您发现本站内容侵害到您的利益,请联系本站管理员处理。