【发布时间】:2017-01-06 08:34:28
【问题描述】:
我正在尝试使用 EVP 接口使用 AES、CBC 和 PKCS#7 填充进行加密/解密。我正在使用example found on the Wiki。
在创建和初始化上下文之后,我正在做EVP_CIPHER_CTX_set_padding(ctx, 0),如果明文不是 16 字节的倍数,则不应该添加填充和失败。尽管如此,密文总是包含一个仅由填充组成的额外块。
我使用的代码实际上是从教程中复制和粘贴的,我只是在加密和解密中添加EVP_CIPHER_CTX_set_padding(ctx, 0),如下所示:
/* Create and initialise the context */
if (!(ctx = EVP_CIPHER_CTX_new())) handleErrors();
EVP_CIPHER_CTX_set_padding(ctx, 0);
我是不是做错了什么?
【问题讨论】:
-
我已经为你格式化了你的问题,你可以点击edited <time> ago查看编辑。反引号对于内联代码很有用,不要过度使用引号。