zoukankan      html  css  js  c++  java
  • 密码引擎-加密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

    六、运行截图

  • 相关阅读:
    Redhat 7使用CentOS 7的Yum网络源
    指定YUM安装包的体系结构或版本
    CURL常用命令
    VIM技巧之去除代码行号并缩进代码
    VIM 中鼠标选择不选中行号
    linux服务器性能优化
    阻塞,非阻塞,同步,异步
    WEB三层架构与MVC
    mvc与三层结构
    Centos环境下Tomcat启动缓慢
  • 原文地址:https://www.cnblogs.com/ZYX-bk-412/p/14697300.html
Copyright © 2011-2022 走看看