加密参数的检查函数和参数集合的操作函数
前情回顾
这里放上前面进行的.c文件的具体代码解读供读者参考
hks_base_check源码分析(一)
hks_base_check源码分析(二)
hks_common_check代码解读
hks_check_paramset代码解读(一)
hks_check_paramset代码解读(二)
hks_crypto_adapter代码解读
hks_param.c代码解读
目录总结
common目录下include头文件共15个,src中的源码文件共5个
1.定义了大量的枚举变量对各种标识比如密钥类型,密钥作用等
2.封装了对各种加密算法的各种参数的检查
3.封装了对paramSet的各种操作函数包括初始化、更新、删除等
4.对于模块的封装和检查鸿蒙做的非常好,几乎是所有关于数据结构的操作之前,都会对数据结构进行一次检查保证操作的合法性有效性
5.对于函数的封装和编写也十分规范,读起来十分清爽
这里放上思维导图:
重要函数功能
基础函数
这里的基础函数是调用最为频繁的底层函数
HksGetParam
几乎所有的参数检查都需要调用该函数进行参数数据的提取再往下进行操作
流程:首先检查paramSet和param是否存在---->调用函数HksCheckParamSet进行参数集合的size检查---->遍历循环参数集合找到符合tag的参数集由*param带出
HksCheckValue
所有的关于参数与预期参数是否一致的检查都是调用该函数
遍历循环expectValues中的值,匹配到与inputValue相同则返回success否则返回invalid
CheckAndGetAlgorithm
封装了上述两个常用函数变成的检查并获取算法参数的函数
重要功能函数图解
这里的功能函数是能够完整完成一个重要功能的函数