0

我必须在 C 程序中解密已在 CBC 模式下使用 3DESm 方法加密的加密消息。它看起来与我们从 3DES 方法得到的加密消息完全不同。通常我们加密后得到的密文是一个长度为16的十六进制数,仅包含0-9和AF等字符。但我需要解密的密文长度超过 20 个字符,包括 AZ、az、0-9 中的所有字符,还包括一些特殊字符,如“+”和“=”。哪个图书馆有助于做必要的事情?

4

1 回答 1

1

您从任何普通块密码中获得的密文由原始字节/二进制数据组成,而不是十六进制。在 DES 的情况下,这些是每块 8 个字节。

如果您更喜欢文本而不是二进制数据,则可以对它们进行编码。看起来您的密文是 Base64 而不是十六进制编码。但这是一个独立于密码选择的选择。

Base64 使用所有 ASCII 字母和数字以及+/对数据进行编码,=如果输入不是 6 位的倍数,则作为填充。

于 2012-05-11T08:41:24.473 回答