- 博客(5)
- 资源 (3)
- 收藏
- 关注
原创 基于国密SM3算法(openssl接口)密钥派生函数KDF的实现
前言最近项目需要使用KDF函数生成秘钥,对比国密标准(GB_T 32918.4-2016)及网络资料,发现确实没有让我满意的, 自己结合标准和大佬:Heidlyn的帖子《国密SM2算法密钥派生函数KDF的实现》动手写了一个并成功通过标准下面的测试用例,个人认为更加通俗易懂。现分享给大家代码//KDF函数的实现基于GB_T32918_4-2016 5.3.4章《密钥派生函数》实现//函数功能:KDF秘钥派生函数//输入参数: Z -用于计算的比特串// Zlen - Z的字节数
2021-03-18 15:17:17
4468
2
原创 C++多态及类的大小
个人理解:多态就是不同场景下一个类所表达出的不同状态,其分类为静态多态和动态多态,1.静态多态:我们所知道的函数重载便是,这种静态多态是在编译期间就完成的,编译期间编译器根据情况选择调用合适的函数完成函数重载。要是没有合适的就报错。2.动态多态:我们用的非常多的一种多态,动态多态我就不能不讲一个关键字。 Virtual:在类的成员函数声明前加上virt...
2019-02-16 14:27:05
256
原创 C++静态成员变量和静态成员函数
静态成员变量型如:static <变量类型> <变量名>说明:1.静态成员变量为所有类共用一个(无论定义了多少个对象,静态成员变量的空间只有一个)2.静态成员变量只能在类外全局变量处进行初始化。否则编译出错。3.静态成员变量早在实例化对象前就已经分配完空间了。静态成员函数:型如:static <返回值类型> <函数名&...
2019-02-14 13:50:40
183
原创 C++中关键字mutable
C++中的关键字mutable翻译出来是:易变的。其可以看做是const的反义词,作用也是反向于const的。当用const修饰类对象时(常对象),代表着其值是不能修改的。但我们也许会在某些时刻需要一种可以在常对象内可修改的变量。这时我们就需要了关键字mutable。型如: mutable <变量类型> <变量名>当使用mutable修饰成员变量以...
2019-02-14 13:09:31
410
原创 C++中常对象、常成员函数、常成员变量
用const修饰的类对象叫做常对象,用const修饰的成员函数叫常成员函数,用const修饰的成员变量叫常成员变量,常对象:型如: const <类名> <对象名> <类名> const <对象名>说明:1.常对象内的成员变量值不可修改,所以一定要在定义对象时初始化。2.常对象只可以调用常成...
2019-02-14 12:48:05
2881
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人