security_hash
security_hash 提供 SHA1、SHA224、SHA256、SHA384、SHA512 及 SM3 等多种 Hash 摘要算法的单流程与多流程计算能力。
头文件清单
接口清单
Functions
uapi_drv_cipher_sha1
头文件清单
功能说明
- 对输入消息执行SHA1摘要计算,输出20字节摘要结果
- 单流程接口,一次调用完成消息输入和摘要输出
- 适用于数据量较小、可一次性处理的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[20] | SHA1摘要结果,20字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA1 | 功能宏 | 支持SHA1 Hash功能 | n |
uapi_drv_cipher_sha224
头文件清单
功能说明
- 对输入消息执行SHA224摘要计算,输出28字节摘要结果
- 单流程接口,一次调用完成消息输入和摘要输出
- 适用于数据量较小、可一次性处理的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[28] | SHA224摘要结果,28字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA224 | 功能宏 | 支持SHA224 Hash功能 | n |
uapi_drv_cipher_sha256
头文件清单
功能说明
- 对输入消息执行SHA256摘要计算,输出32字节摘要结果
- 单流程接口,一次调用完成消息输入和摘要输出
- 适用于数据量较小、可一次性处理的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[32] | SHA256摘要结果,32字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA256 | 功能宏 | 支持SHA256 Hash功能 | y |
uapi_drv_cipher_sha384
头文件清单
功能说明
- 对输入消息执行SHA384摘要计算,输出48字节摘要结果
- 单流程接口,一次调用完成消息输入和摘要输出
- 适用于数据量较小、可一次性处理的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[48] | SHA384摘要结果,48字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA384 | 功能宏 | 支持SHA384 Hash功能 | y |
uapi_drv_cipher_sha512
头文件清单
功能说明
- 对输入消息执行SHA512摘要计算,输出64字节摘要结果
- 单流程接口,一次调用完成消息输入和摘要输出
- 适用于数据量较小、可一次性处理的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[64] | SHA512摘要结果,64字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA512 | 功能宏 | 支持SHA512 Hash功能 | y |
uapi_drv_cipher_sm3
头文件清单
功能说明
- 对输入消息执行SM3摘要计算,输出32字节摘要结果
- 单流程接口,一次调用完成消息输入和摘要输出
- 适用于数据量较小、可一次性处理的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[32] | SM3摘要结果,32字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SM3 | 功能宏 | 支持SM3 Hash功能 | y |
uapi_drv_cipher_sha1_start
头文件清单
功能说明
- 创建SHA1 Hash计算句柄,用于多流程计算模式
- 调用成功后返回Hash句柄,后续通过update/finish接口分步完成摘要计算
- 适用于数据量较大或需要分块处理的场景
前置条件
- 调用时序约束:需在update和finish接口之前调用
- 依赖关系:依赖安全驱动模块已初始化
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| ctx | hash_handle_t * | 创建的Hash句柄 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 句柄创建成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA1 | 功能宏 | 支持SHA1 Hash功能 | n |
uapi_drv_cipher_sha1_update
头文件清单
功能说明
- 向SHA1 Hash计算中更新消息数据,支持多次调用
- 每次调用将消息片段送入Hash计算上下文
- 适用于分块传输数据的场景
前置条件
- 调用时序约束:必须在sha1_start成功返回后调用,在sha1_finish之前调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 消息更新成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA1 | 功能宏 | 支持SHA1 Hash功能 | n |
uapi_drv_cipher_sha1_finish
头文件清单
功能说明
- 结束SHA1 Hash计算,输出20字节摘要结果
- 完成多流程计算模式下最后一轮摘要计算
- 调用完成后应调用sha_destroy释放句柄
前置条件
- 调用时序约束:必须在sha1_start之后、且至少一次sha1_update之后调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[20] | SHA1摘要结果,20字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算完成 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA1 | 功能宏 | 支持SHA1 Hash功能 | n |
uapi_drv_cipher_sha224_start
头文件清单
功能说明
- 创建SHA224 Hash计算句柄,用于多流程计算模式
- 调用成功后返回Hash句柄,后续通过update/finish接口分步完成摘要计算
- 适用于数据量较大或需要分块处理的场景
前置条件
- 调用时序约束:需在update和finish接口之前调用
- 依赖关系:依赖安全驱动模块已初始化
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| ctx | hash_handle_t * | 创建的Hash句柄 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 句柄创建成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA224 | 功能宏 | 支持SHA224 Hash功能 | n |
uapi_drv_cipher_sha224_update
头文件清单
功能说明
- 向SHA224 Hash计算中更新消息数据,支持多次调用
- 每次调用将消息片段送入Hash计算上下文
- 适用于分块传输数据的场景
前置条件
- 调用时序约束:必须在sha224_start成功返回后调用,在sha224_finish之前调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 消息更新成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA224 | 功能宏 | 支持SHA224 Hash功能 | n |
uapi_drv_cipher_sha224_finish
头文件清单
功能说明
- 结束SHA224 Hash计算,输出28字节摘要结果
- 完成多流程计算模式下最后一轮摘要计算
- 调用完成后应调用sha_destroy释放句柄
前置条件
- 调用时序约束:必须在sha224_start之后、且至少一次sha224_update之后调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[28] | SHA224摘要结果,28字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算完成 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA224 | 功能宏 | 支持SHA224 Hash功能 | n |
uapi_drv_cipher_sha256_start
头文件清单
功能说明
- 创建SHA256 Hash计算句柄,用于多流程计算模式
- 调用成功后返回Hash句柄,后续通过update/finish接口分步完成摘要计算
- 适用于数据量较大或需要分块处理的场景
前置条件
- 调用时序约束:需在update和finish接口之前调用
- 依赖关系:依赖安全驱动模块已初始化
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| ctx | hash_handle_t * | 创建的Hash句柄 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 句柄创建成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA256 | 功能宏 | 支持SHA256 Hash功能 | y |
uapi_drv_cipher_sha256_update
头文件清单
功能说明
- 向SHA256 Hash计算中更新消息数据,支持多次调用
- 每次调用将消息片段送入Hash计算上下文
- 适用于分块传输数据的场景
前置条件
- 调用时序约束:必须在sha256_start成功返回后调用,在sha256_finish之前调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 消息更新成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA256 | 功能宏 | 支持SHA256 Hash功能 | y |
uapi_drv_cipher_sha256_finish
头文件清单
功能说明
- 结束SHA256 Hash计算,输出32字节摘要结果
- 完成多流程计算模式下最后一轮摘要计算
- 调用完成后应调用sha_destroy释放句柄
前置条件
- 调用时序约束:必须在sha256_start之后、且至少一次sha256_update之后调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[32] | SHA256摘要结果,32字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算完成 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA256 | 功能宏 | 支持SHA256 Hash功能 | y |
uapi_drv_cipher_sha384_start
头文件清单
功能说明
- 创建SHA384 Hash计算句柄,用于多流程计算模式
- 调用成功后返回Hash句柄,后续通过update/finish接口分步完成摘要计算
- 适用于数据量较大或需要分块处理的场景
前置条件
- 调用时序约束:需在update和finish接口之前调用
- 依赖关系:依赖安全驱动模块已初始化
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| ctx | hash_handle_t * | 创建的Hash句柄 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 句柄创建成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA384 | 功能宏 | 支持SHA384 Hash功能 | y |
uapi_drv_cipher_sha384_update
头文件清单
功能说明
- 向SHA384 Hash计算中更新消息数据,支持多次调用
- 每次调用将消息片段送入Hash计算上下文
- 适用于分块传输数据的场景
前置条件
- 调用时序约束:必须在sha384_start成功返回后调用,在sha384_finish之前调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 消息更新成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA384 | 功能宏 | 支持SHA384 Hash功能 | y |
uapi_drv_cipher_sha384_finish
头文件清单
功能说明
- 结束SHA384 Hash计算,输出48字节摘要结果
- 完成多流程计算模式下最后一轮摘要计算
- 调用完成后应调用sha_destroy释放句柄
前置条件
- 调用时序约束:必须在sha384_start之后、且至少一次sha384_update之后调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[48] | SHA384摘要结果,48字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算完成 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA384 | 功能宏 | 支持SHA384 Hash功能 | y |
uapi_drv_cipher_sha512_start
头文件清单
功能说明
- 创建SHA512 Hash计算句柄,用于多流程计算模式
- 调用成功后返回Hash句柄,后续通过update/finish接口分步完成摘要计算
- 适用于数据量较大或需要分块处理的场景
前置条件
- 调用时序约束:需在update和finish接口之前调用
- 依赖关系:依赖安全驱动模块已初始化
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| ctx | hash_handle_t * | 创建的Hash句柄 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 句柄创建成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA512 | 功能宏 | 支持SHA512 Hash功能 | y |
uapi_drv_cipher_sha512_update
头文件清单
功能说明
- 向SHA512 Hash计算中更新消息数据,支持多次调用
- 每次调用将消息片段送入Hash计算上下文
- 适用于分块传输数据的场景
前置条件
- 调用时序约束:必须在sha512_start成功返回后调用,在sha512_finish之前调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 消息更新成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA512 | 功能宏 | 支持SHA512 Hash功能 | y |
uapi_drv_cipher_sha512_finish
头文件清单
功能说明
- 结束SHA512 Hash计算,输出64字节摘要结果
- 完成多流程计算模式下最后一轮摘要计算
- 调用完成后应调用sha_destroy释放句柄
前置条件
- 调用时序约束:必须在sha512_start之后、且至少一次sha512_update之后调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[64] | SHA512摘要结果,64字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算完成 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SHA512 | 功能宏 | 支持SHA512 Hash功能 | y |
uapi_drv_cipher_sm3_start
头文件清单
功能说明
- 创建SM3 Hash计算句柄,用于多流程计算模式
- 调用成功后返回Hash句柄,后续通过update/finish接口分步完成摘要计算
- 适用于数据量较大或需要分块处理的场景
前置条件
- 调用时序约束:需在update和finish接口之前调用
- 依赖关系:依赖安全驱动模块已初始化
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| ctx | hash_handle_t * | 创建的Hash句柄 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 句柄创建成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SM3 | 功能宏 | 支持SM3 Hash功能 | y |
uapi_drv_cipher_sm3_update
头文件清单
功能说明
- 向SM3 Hash计算中更新消息数据,支持多次调用
- 每次调用将消息片段送入Hash计算上下文
- 适用于分块传输数据的场景
前置条件
- 调用时序约束:必须在sm3_start成功返回后调用,在sm3_finish之前调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
| buf | const uint8_t * | 输入消息数据指针 | 不为NULL |
| len | uint32_t | 消息数据长度 | 0 ~ 4294967295 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 消息更新成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SM3 | 功能宏 | 支持SM3 Hash功能 | y |
uapi_drv_cipher_sm3_finish
头文件清单
功能说明
- 结束SM3 Hash计算,输出32字节摘要结果
- 完成多流程计算模式下最后一轮摘要计算
- 调用完成后应调用sha_destroy释放句柄
前置条件
- 调用时序约束:必须在sm3_start之后、且至少一次sm3_update之后调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| out | uint8_t[32] | SM3摘要结果,32字节 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 摘要计算完成 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Kconfig配置
| 配置项 | 宏类型 | 说明 | 默认值 |
|---|---|---|---|
| CONFIG_HASH_SUPPORT_SM3 | 功能宏 | 支持SM3 Hash功能 | y |
uapi_drv_cipher_sha_destroy
头文件清单
功能说明
- 销毁Hash句柄,释放相关资源
- 用于多流程计算模式(start/update/finish)中完成计算后的资源回收
- 句柄销毁后不可再用于update或finish操作
前置条件
- 调用时序约束:必须在start成功创建句柄后调用,建议在finish之后调用
- 依赖关系:依赖有效的Hash句柄
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ctx | hash_handle_t | Hash句柄 | start接口返回的有效句柄 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SUCC(0x00) | 执行成功 | 句柄销毁成功 |
| Other | 其他错误码,参考errcode_t | 执行失败 |
Type definitions
errcode_t
使用说明
作为本模块所有接口的返回值类型 [SDK公共基础类型]
hash_handle_t
使用说明
作为Hash句柄类型,在start/update/finish/destroy接口中传递Hash计算上下文