C# 3DES解密算法

3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。

public static byte[] Decrypt3Des(byte[] bytes, string aStrKey)
        {
            try
            {
                var des = new TripleDESCryptoServiceProvider();
                des.Key = Encoding.UTF8.GetBytes(aStrKey);
                des.Mode = CipherMode.CBC;
                des.Padding = PaddingMode.PKCS7;
                byte[] iv = new byte[8];
                byte[] key = Encoding.Default.GetBytes(aStrKey);
                ICryptoTransform desDecrypt = des.CreateDecryptor(key, iv);
                return desDecrypt.TransformFinalBlock(bytes, 0, bytes.Length);
            }
            catch (Exception e)
            {
            }
            return null;
        }

发表评论

您的电子邮箱地址不会被公开。