open-api 算法实现

本文主要介绍了如何在openEuler操作系统中实现并测试Open-API,特别是SM4和SM3算法。遵循了从检查版本、验证SM2和SM3到执行SM4和SM3测试的步骤。要求在码云或GitHub上提交代码,并附带编译测试截图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求:

  • 推荐在openEuler中实现 ,参考https://www.cnblogs.com/rocedu/p/6012545.html第三节
  • 提交相关代码码云(或github)链接(我使用博客园)
  • 提交不少于6张编译测试过程截图
  • 至少包含SM4,SM3的测试

1.检查版本

2.检查sm2 sm3

$ ./apps/openssl ecparam -list_curves | grep SM2
$ echo -n "abc" | ./apps/openssl dgst -SM3

3.检查函数

./apps/openssl enc -ciphers

4.测试SM4

代码:

#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "openssl/err.h"
#include "openssl/evp.h"
 
/* Before OpenSSL 1.1.1-pre1, we did not have EVP_sm4_ecb() */
#if defined(OPENSSL_VERSION_NUMBER) 
    && OPENSSL_VERSION_NUMBER < 0x10101001L
static const EVP_CIPHER *(*EVP_sm4_ecb)()=EVP_aes_128_ecb;
#endif
 
typedef struct {
    const 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值