密码引擎-加密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("打开设备失败 ");
}
else
{
printf("打开设备成功! ");
}
printf("查看设备信息 ");
DEVICEINFO a;
ret = SDF_GetDeviceInfo(*pdh,&a);
if(ret !=SDR_OK)
printf("查看设备信息失败! ");
else
printf("查看设备信息成功! ");
printf("设备名字叫做%s ",a.DeviceName);
printf("设备版本号为%d ",a.DeviceVersion);
printf("想要获取的随机数长度为: ");
int n;
scanf("%d",&n);
char string[100];
ret = SDF_GenerateRandom(*pdh,n,string);
if(ret !=SDR_OK)
printf("生成随机数失败!");
else
printf("生成的随机数为%s ",string);
ret = SDF_CloseDevice(*pdh);
if(ret != SDR_OK)
{
printf("关闭不成功! ");
}
else
{
printf("关闭成功! ");
}
}

五、编写运行脚本compile.sh

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

六、运行截图

原文地址:https://www.cnblogs.com/ZYX-bk-412/p/14697300.html