gpt4 book ai didi

OpenSSL EVP_CIPHER_CTX_set_padding 不工作

转载 作者:行者123 更新时间:2023-12-05 01:19:07 25 4
gpt4 key购买 nike

我正在尝试使用 EVP 接口(interface)使用 AES、CBC 和 PKCS#7 填充进行加密/解密。我正在使用 example found on the Wiki .

我在创建和初始化上下文后执行 EVP_CIPHER_CTX_set_padding(ctx, 0),如果明文不是 16 字节的倍数,则不应添加填充并失败。尽管如此,密文总是包含一个仅由填充组成的额外 block 。

我使用的代码是从教程中复制和粘贴的,我只是在加密和解密中添加 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);

我做错了什么吗?

最佳答案

显然 EVP_DecryptInit_exEVP_EncryptInit_ex 都会重新初始化上下文,因此任何上下文更改(例如设置填充)都应在调用这些方法后执行。

关于OpenSSL EVP_CIPHER_CTX_set_padding 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41474613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com