openssl 中 EVP_aes_256_gcm() 函数展开

embedded/2025/2/4 7:09:51/

在 openssl 中搜索,只能在头文件搜索到 EVP_aes_256_gcm() ,不能直接搜索到它的实现。

它的实现是通过一个宏展开的,挺难找的,如下,做记录:

文件:openssl-1.1.1g/crypto/evp/e_aes.c

EVP_aes_256_gcm();// 代码原文:
BLOCK_CIPHER_custom(NID_aes, 256, 1, 12, gcm, GCM,EVP_CIPH_FLAG_AEAD_CIPHER | CUSTOM_FLAGS)// 展开后原文:
static const EVP_CIPHER aes_256_gcm = {901, 1, (0x6 == 0x10001 ? 2 : 1) * 256 / 8, 12, 0x200000 | (0 | 0x10 | 0x100000 | 0x20 | 0x40 | 0x400 | 0x800) | 0x6, aes_gcm_init_key, aes_gcm_cipher, aes_gcm_cleanup, sizeof(EVP_AES_GCM_CTX), ((void *)0), ((void *)0), aes_gcm_ctrl, ((void *)0)};
const EVP_CIPHER *EVP_aes_256_gcm(void) { return &aes_256_gcm; }

http://www.ppmy.cn/embedded/159401.html

相关文章

【Unity】cinemachine核心知识

cinemachine核心知识 cinemachineVirtualCamera中body参数作用cinemachineVirtualCamera中body有哪些选项cinemachineVirtualCamera中am参数作用以及选项 cinemachineVirtualCamera中body参数作用 在 Unity 的 Cinemachine Virtual Camera 中,Body 参数模块主要负责…

[Java基础]开发工具Idea

安装工具 IDE: 称为集成开发环境, 把代码编写,编译,执行等功能综合在一起的工具 卸载 控制面板->卸载程序->卸载->勾选清空配置->确认卸载 下载/安装 官网下载: IntelliJ IDEA – the Leading Java and Kotlin IDE 默认安装: 旗舰版安装无需任何勾选, 傻瓜安装…

STM32 TIM输入捕获 测量频率

输入捕获简介: IC(Input Capture)输入捕获 输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数 每个高级定时器…

MiniQMT与xtquant:量化交易的利器

MiniQMT与xtquant:量化交易的利器 在量化交易的世界里,工具的选择至关重要。今天,我们将深入探讨券商版的MiniQMT及其核心组件xtquant的使用技巧和实践心得。MiniQMT以其简洁的操作界面和强大的功能,在量化交易者中颇受欢迎。 技…

python渗透开发 高阶段位之 waf绕过sql注入 sqlmap --temper模块开发以及框架逻辑修改 以及解释Temper是什么?

目录 temper 解释: 这种操作常见于以下场景: 常见用法: tamper脚本位置 SQLMAP之temper二次开发说明 如何开发 temper 中的 Python 文件 基本的 temper Python 脚本结构 代码结构: 解释: 二次开发Temper中 base64encode.py 脚本 源码 编码前解释 二次框…

使用HTML5 Canvas 实现呼吸粒子球动画效果的原理

在网页开发领域,动画效果能够极大地提升用户体验,让页面变得更加生动有趣。今天,我们深入剖析一个基于 HTML5 Canvas 的 3D 粒子动画 —— 呼吸粒子球。通过详细解读其代码实现,我们将全面了解如何运用 HTML5 的强大功能构建出如此…

XML DOM 解析器

大多数浏览器都内建了供读取和操作 XML 的 XML 解析器。 解析器把 XML 转换为 JavaScript 可存取的对象(XML DOM)。 XML 解析器 XML DOM 包含了遍历 XML 树,访问、插入及删除节点的方法(函数)。 然而,在…

C语言:创建带头结点的动态链表:解析与实现

创建带头结点的动态链表:解析与实现 在本博客中,我们将逐步解析一个C语言程序,该程序用于创建一个带头结点的动态链表。链表用于存储从键盘输入的学生高考总分,以任意负数作为输入结束标志。最终,程序返回链表的头指针…