实现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