c++ - openssl 中已弃用的 AES_ige_encrypt() API 的替代方案
问题描述
从 OpenSSL 版本 1.0.0 升级到 1.1.1x 时,会出现警告说 APIAES_ige_encrypt()
已被弃用,该 API 用于使用 AES_ige 进行加密和解密。尽管源评论说该功能已被弃用,但它没有提及任何有关此 API 的任何替代品的信息。搜索网络并没有提供任何有用的信息。如果有人可以建议提供与 API 相同功能的 OpenSSL API,那将非常有帮助AES_ige_encrypt()
。
解决方案
您确定您使用的是正确版本的 OpenSSL 吗?该功能在 master 分支中已被弃用(即将成为 OpenSSL 3.0 的版本),但在 1.1.1 中尚未弃用。
无论如何,您不应该使用这些模式。根据更改条目:
*) 函数 AES_ige_encrypt() 和 AES_bi_ige_encrypt() 已被弃用。这些未记录的函数从未集成到 EVP 层中,并实现了 AES Infinite Garble Extension (IGE) 模式和 AES 双向 IGE 模式。这些模式从未正式标准化,并且这些功能的使用被认为非常少。特别是 AES_bi_ige_encrypt() 有一个已知的错误。它接受 2 个 AES 密钥,但只使用过一个。安全隐患被认为是最小的,但出于向后兼容性的原因,这个问题从未得到解决。新代码不应使用这些模式。[马特·卡斯威尔]
根据我最后的评论 - 新代码不应使用这些模式。如果您正在使用它们,那么另一种方法是寻找满足您要求的替代模式并使用 EVP 功能来使用该模式。
推荐阅读
- c++ - 有成员的类的术语
- javascript - 如何在 ejs 中访问函数内的数组对象
- python - 文本文件的最后一行缺少换行符;如何应对?
- flutter - 在flutter中更改包名称后vs代码调试不起作用
- android - 如何在电子邮件附件和设备存储中将 CSV 文件关联到我的应用程序?
- html - 无法使用 Angular 6 Type 脚本在打印预览页面上使用 CSS 呈现数据
- c - prepare_to_wait 和 finish_wait 背后的设计选择是什么
- python - 如何使用fillna方法填充具有相同整数的数据框
- android - 有没有办法将 zidoo android 电视盒连接到 android studio?
- angular - 带有子路由的延迟加载模块