Linux加密框架应用示例(四)

创建异步哈希算法实例
摘要由CSDN通过智能技术生成

哈希算法应用示例(三)

  1. 创建异步哈希算法实例hmac_md5_ahash(二)

在crypto_alloc_tfm函数中,查找到符合条件的算法alg后,调用crypto_create_tfm函数根据查找到的算法alg(即hmac_md5_alg)和算法类型常量frontend(&crypto_ahash_type)创建指定类型的算法实例tfm(即hmac_md5_ahash)。注意:crypto_alloc_tfm函数并不解释新创建的算法实例的类型,其返回值为通用的内存地址(void *),由调用者将其转换为具体类型算法实例。
在crypto_create_tfm函数中,创建并初始化算法实例,具体流程如下:
1)申请内存空间
申请的内存空间包括通用算法实例、算法实例的个性化部分以及上下文空间,如下所示。

	tfmsize = frontend->tfmsize;
	total = tfmsize + sizeof(*tfm) + frontend->extsize(alg);

其中算法实例的个性化部分以及上下文空间均通过输入的算法类型常量frontend获取。此时输入的异步哈希算法类型常量crypto_ahash_type定义如下所示。

const struct crypto_type crypto_ahash_type = {
   
	.extsize = crypto_ahash_extsize,
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值