C#的3DES加密/解密

    /// <summary>
    /// 3DES解密
     /// </summary>
    /// <param name="strString">加密後的字符串</param>
    /// <param name="strKey">解密key</param>
    /// <returns>返回明文密碼</returns>
    private string Decrypt3DES(string strString, string strKey)
    {
        TripleDESCryptoServiceProvider provider1 = new TripleDESCryptoServiceProvider();
        MD5CryptoServiceProvider provider2 = new MD5CryptoServiceProvider();
        provider1.Key = provider2.ComputeHash(Encoding.ASCII.GetBytes(strKey));
        provider1.Mode = CipherMode.ECB;
        ICryptoTransform transform1 = provider1.CreateDecryptor();
        string text1 = "";
        try
        {
            byte[] buffer1 = Convert.FromBase64String(strString);
            text1 = Encoding.ASCII.GetString(transform1.TransformFinalBlock(buffer1, 0, buffer1.Length));
        }
        catch (Exception exception1)
        {
            Response.Write("密碼解析異常!");
            return "";
        }
        return text1;
    }
    /// <summary>
    /// 加密
     /// </summary>
    /// <param name="a_strString">加密字符串</param>
    /// <param name="a_strKey">密匙</param>
    /// <returns>返回加密後字符串</returns>
    public string Encrypt3DES(string a_strString, string a_strKey)
    {
        TripleDESCryptoServiceProvider DES = new TripleDESCryptoServiceProvider();
        MD5CryptoServiceProvider provider2 = new MD5CryptoServiceProvider();
        DES.Key = provider2.ComputeHash(Encoding.ASCII.GetBytes(a_strKey));
        DES.Mode = CipherMode.ECB;
        ICryptoTransform DESEncrypt = DES.CreateEncryptor();
        byte[] Buffer = ASCIIEncoding.ASCII.GetBytes(a_strString);
        return Convert.ToBase64String(DESEncrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
    }

這個是支付寶適用的3DES加密/解密方法.
發佈了4 篇原創文章 · 獲贊 4 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章