【问题标题】:TripleDESCryptoServiceProvider Specified key is not a valid size for this algorithm at 128 bytes?TripleDESCryptoServiceProvider 指定的密钥在 128 字节时不是此算法的有效大小?
【发布时间】:2016-01-22 09:33:06
【问题描述】:

我正在尝试将我的加密解密功能从 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 用于创建加密器吗?

【问题讨论】:

    标签: c# encryption tripledes


    【解决方案1】:

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

    【讨论】:

    • 噢,愚蠢的我。让我们改变它:)
    猜你喜欢
    • 2011-02-24
    • 2020-09-25
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-24
    相关资源
    最近更新 更多