什么是openssl 1.1.0中替代AES_ctr128_encrypt的确切替代API?

什么是openssl 1.1.0中替代AES_ctr128_encrypt的确切替代API?,openssl,Openssl,我需要在CTR模式下使用128位AES算法从openssl库进行加密。 但相应的函数AES_ctr128_encrypt似乎已从openssl 1.1.0g中删除。因为我得到以下错误:- 来自互联网的文档或参考资料不建议AES CTR模式的替代功能。 使用openssl 1.1.0g加密AES\u-ctr128\u的确切替代方案是什么?您可以使用CRYPTO\u-ctr128\u-encrypt(),而不是: AES_ctr128_encrypt( in, out, len,

我需要在CTR模式下使用128位AES算法从openssl库进行加密。 但相应的函数AES_ctr128_encrypt似乎已从openssl 1.1.0g中删除。因为我得到以下错误:-

来自互联网的文档或参考资料不建议AES CTR模式的替代功能。
使用openssl 1.1.0g加密AES\u-ctr128\u的确切替代方案是什么?

您可以使用
CRYPTO\u-ctr128\u-encrypt()
,而不是:

AES_ctr128_encrypt(
  in, 
  out, 
  len, 
  &cipher->aes_key->key, 
  cipher->aes_key->IV, 
  buffer, 
  &num);
你会做:

CRYPTO_ctr128_encrypt(
  in, 
  out, 
  len, 
  &cipher->aes_key->key, 
  cipher->aes_key->IV, 
  buffer, 
  &num, 
  (block128_f)AES_encrypt);

对于mnistic的回答,我只想补充一点,您不应该忘记包含以下标题:

  • openssl/aes.h
  • openssl/modes.h
那么这个,

AES_ctr128_encrypt(
  cipher_in,
  plaintext_out,
  bytes_length,
  &cipher->aes_key->key,
  cipher->aes_key->IV,
  counter,
  &offset);
将成为:

#include <openssl/aes.h>
#include <openssl/modes.h>
.
.
.
CRYPTO_ctr128_encrypt(
  cipher_in,
  plaintext_out,
  bytes_length,
  &cipher->aes_key->key,
  cipher->aes_key->IV,
  counter,
  &offset, 
  (block128_f)AES_encrypt);
#包括
#包括
.
.
.
加密加密(
你进来了,
明文输出,
字节长度,
&密码->aes_密钥->密钥,
密码->aes_密钥->IV,
柜台
&抵消,
(块128_f)AES_加密);
请以文本形式逐字记录错误消息。