我正在尝试将我的加密解密功能从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用于创建加密器?
答案 0 :(得分:6)
密钥大小为位,而不是以字节为单位。 3DES密钥大小为168,112或56位,具体取决于keying option。 C#实现支持128和192 位的密钥大小,它们将分别仅使用112和168位。