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

rea*_*que 1 c# encryption tripledes

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

byte[] key = new byte[128], iv = new byte[128];
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
Run Code Online (Sandbox Code Playgroud)

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

Specified key is not a valid size for this algorithm.
Run Code Online (Sandbox Code Playgroud)

即使我的字节数组已完整填写.

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

Rem*_*anu 6

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