密码引擎-加密API实现与测试

实现GMT 0018-2012密码设备应用接口规范的接口函数

 一、创建sdfproject

mkdir sdfproject
cd sdfproject
mkdir include(头文件) src(源文件) libs(库文件) docs(文件类) test(测试文件)
touch makefile
touch readme.md
touch compile.sh
cd docs 
mkdir ref

二、编写头文件sdf.h(已经按照老师云班课的要求,把需要的函数全都放入头文件中)

代码过长,只截取一部分展示

三、编写源代码sdf.c

代码过长,只截取一部分展示

四、编写测试代码main.c

#include<stdio.h>
#include<stdlib.h>
#include "sdf.h"
int main(){
void **pdh;
pdh=(void **)malloc(20);
int ret;
ret = SDF_OpenDevice(pdh);
if(ret != SDR_OK)
{
printf("打开设备失败\n");
}
else
{
printf("打开设备成功!\n");
}
printf("查看设备信息\n");
DEVICEINFO a;
ret = SDF_GetDeviceInfo(*pdh,&a);
if(ret !=SDR_OK)
printf("查看设备信息失败!\n");
else
printf("查看设备信息成功!\n");
printf("设备名字叫做%s\n",a.DeviceName);
printf("设备版本号为%d\n",a.DeviceVersion);
printf("想要获取的随机数长度为:\n");
int n;
scanf("%d",&n);
char string[100];
ret = SDF_GenerateRandom(*pdh,n,string);
if(ret !=SDR_OK)
printf("生成随机数失败!");
else
printf("生成的随机数为%s\n",string);
ret = SDF_CloseDevice(*pdh);
if(ret != SDR_OK)
{
printf("关闭不成功!\n");
}
else
{
printf("关闭成功!\n");
}
}

五、编写运行脚本compile.sh

gcc test/main.c src/sdf.c -o bin/test -Iinclude
bin/test

六、运行截图

 

posted @ 2021-04-24 16:28  20181234  阅读(160)  评论(0编辑  收藏  举报