使用gmssl进行计算sm4,编译的版本是gmssl2.0,2.1版本编译不过去

第一步下载软件,下载Visual Studio 2010旗舰版、nasm-2.13.03-installer-x86、ActivePerl-5.22.4.2205-MSWin32-x86-64int-403863这三个软件,

注意vs版本不能太低,否则便宜的时候容易出现错误。

第二部使用命令进行编译,生成lib库和dll库,请选择好生成的版本,32位或者64位的dll库

perl Configure VC-WIN32
nmake
nmake install

第三步:在vs2010中调用该接口,可以使用dll直接调用,或者使用lib库,直接导入头文件。注意在选择选择vs2010中的平台配置,64位x64或者32位x86

HMODULE mHandle = LoadLibrary(L"libcrypto-1_1-x64.dll");

//pSms4_set_encrypt_key Sms4_set_encrypt_key = (pSms4_set_encrypt_key)GetProcAddress(mHandle, "sms4_set_encrypt_key");
//pSms4_encrypt Sms4_encrypt = (pSms4_encrypt)GetProcAddress(mHandle, "sms4_encrypt");

#pragma comment(lib, "libssl.lib")
#pragma comment(lib, "libcrypto.lib")

sms4_key_t key;

unsigned char user_key[16] = {
0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10,
};

unsigned char plaintext[16] = {
0x77, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10,
};

unsigned char buf[16];

/* test key scheduling */
sms4_set_encrypt_key(&key, user_key);

sms4_encrypt(plaintext, buf, &key);

转载于:https://www.cnblogs.com/istar/p/8985437.html

Windows下gmssl使用记录相关推荐

  1. windows下GIT使用记录--00准备阶段

    在Windows上安装Git可以通过从Google Code上下载的安装文件(exe文件),直接安装,一路next即可顺利安装. 下载地址:http://code.google.com/p/msysg ...

  2. Windows下Git使用记录--03 Git GUI与金山快盘组建私人代码仓库进行项目开发

    使用github进行开发的过程中会有一个问题,那就是github不能提供私人的代码仓库,也就是别人完全可以看到你的代码.如果不想别人看到自己的代码,那就得付费购买github的高级服务,或者通过金山快 ...

  3. windows 下编译 DSview 记录

    由于sigrok 界面太土,太难用,就想把DSview编译到windows下, 主要是windows用的人多啊. DSview 有mac  版本, linux版本, windows版本, 但是wind ...

  4. 山东大学软件工程应用与实践——GMSSL开源库(一) ——WINDOWS下GMSSL的安装与编译的超详细保姆级攻略

    2021SC@SDUSC GMSSL简介 GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法.SM2国密数字证书及基于SM2证书的SSL/TLS安全 ...

  5. 让Windows下的Tomcat将控制台信息记录到日志

    在开发的过程中经常出现包冲突,却不知道怎么回事,可以在 catalina.bat 里面设置查看class加载日志 set CATALINA_OPTS=-server -Xdebug -Xnoagent ...

  6. 【踩坑记录】Tensorflow在Windows下使用

    [踩坑记录]Tensorflow在Windows下使用 TensorFlow 是一个端到端开源机器学习平台 安装 pip3 install tensorflow 使用时报错如下 2021-04-21 ...

  7. Windows下C++通过Hooks记录键盘敲击记录的代码

    将写内容过程中比较好的内容备份一下,下边内容内容是关于Windows下C++通过Hooks记录键盘敲击记录的内容. #define _WIN32_WINNT 0x0500 #include #incl ...

  8. 记录解决windows下安装cocoapi的几种方案

    记录解决windows下安装cocoapi的几种方案 安装cocoapi遇到的常见问题及解决办法 安装流程 问题一 问题二 问题三 安装cocoapi遇到的常见问题及解决办法 安装流程 git clo ...

  9. Google开源OCR项目Tesseract安装版在Windows下的使用测试记录

    开源OCR项目有很多,给大家一个链接,这个链接列出了现有的比较出名的OCR开源项目,链接如下: https://en.wikipedia.org/wiki/Comparison_of_optical_ ...

最新文章

  1. 蒙特卡洛树搜索_蒙特卡洛树是什么算法?
  2. scikit-learn库中聚类算法自定义距离度量方式
  3. C/C++数组指针和指针数组
  4. python 垃圾回收详解
  5. 用jOOQ用Java编写SQL
  6. Windows下C语言网络编程快速入门
  7. 轨迹系列2——一种基于中值滤波的轨迹纠偏方法和几点思考
  8. Virtualbox 2.1突发性错误解决办法(也许是BUG)
  9. Linux 信息的各种查询(系统发行版本、内核版本、系统位数)
  10. 在vue项目中配置axios
  11. latex编译错误尝试生产pdf
  12. java后端简历项目经历_java程序员简历项目经验怎么写
  13. 计算机机房的荷载,​计算机信息中心机房建设标准
  14. Spring:Spring源码下载、保存、编译
  15. redis通过hscan导入大hash key
  16. html转化pdf文字无法显示,HTML 转 PDF 排雷 之 wkhtmltopdf 转换得到的PDF没有内容
  17. 软考中级网络工程师的就业前景以及考试要求
  18. 深度学习tracking学习笔记(2):图像/视觉显著性检测技术发展情况梳理(Saliency Detection、Visual Attention)
  19. vue element 的el-checkbox-group默认全部选中
  20. ValueError: Format specifier missing precision

热门文章

  1. 【CodeForces - 633D】Fibonacci-ish (离散化,暴力枚举+STPmap,fib数列收敛性质)
  2. lua进入压缩包_使用lua语言制作贪吃蛇游戏(love2d)(一)开发环境的搭建
  3. mysql 多条记录选择一套_2020-11-09-Mysql(练习题第一套)
  4. 向量数量积公式_多法 | 向量数量积相关最值问题的常见处理方法
  5. 关系数据库——范式/反范式的利弊权衡和建议
  6. Redis:08---字符串对象
  7. LINUX下动态链接库的使用-dlopen dlsym dlclose dlerror
  8. python模块(6)-Pandas 简易使用教程
  9. 《剑指Offer》60:n个骰子的点数
  10. Linux加密框架 crypto 哈希算法举例 MD5