TripleDESCryptoServiceProvider指定的密钥不是此算法的有效大小,为128字节?

时间:2016-01-22 09:33:07

标签: c# encryption tripledes

我正在尝试将我的加密解密功能从DES更新为TripleDES。 但是,当我尝试将我的密钥和iv字节数组大小从8增加到128时:

byte[] key = new byte[128], iv = new byte[128];
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();

其中8用于DESCryptoServiceProvider,128现在用于TripleDESCryptoServiceProvider我总是得到同样的错误:

Specified key is not a valid size for this algorithm.

即使填写了我的字节数组。

我做错了什么?是否有任何要求除了长度允许我的密钥和iv用于创建加密器?

1 个答案:

答案 0 :(得分:6)

密钥大小为,而不是以字节为单位。 3DES密钥大小为168,112或56位,具体取决于keying option。 C#实现支持128和192 的密钥大小,它们将分别仅使用112和168位。