OpenSSL学习笔记

OpenSSL学习笔记

20191318王泽文

sm3 sm4 api调用学习


  在OpenSSL中,sm3 sm4可以通过OpenSSL的evp.h调用。

sm3

sm4


  测试使用sm3的调用。
简单编写了调用sm3的测试代码:

#include <openssl/evp.h>
#include <string.h>


int main(){
    unsigned char data[128] = "20191318wzw";
    int data_size = strlen((char*)data);

    //初始化EVP上下文
    EVP_MD_CTX *ctx = EVP_MD_CTX_new();
    //掉用EVP简化接口编码 国密SM3
    unsigned char out[64] = { 0 };
    unsigned int out_size = 0;
    EVP_Digest(data, data_size, out, &out_size, EVP_sm3(), NULL);
    printf("%s\n",data);
    printf( "国密SM3:");
    int i;
    for ( i = 0; i < 64; i++)
    {
        printf("%x",out[i]);
    }
    printf(" ( %d)\n",out_size);

}

测试结果:

与直接使用命令行的对比:

完全一致


  测试使用sm4的调用。
参考链接https://blog.csdn.net/bruce135lee/article/details/81811403
测试结果:


代码链接
https://gitee.com/Yushino/system-job/blob/master/sm3t.c
https://gitee.com/Yushino/system-job/blob/master/sm4t.c

posted @ 2021-11-11 14:26  20191318王泽文  阅读(504)  评论(0编辑  收藏  举报