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;
}