c++国密算法SM2加密解密demo
c++国密算法SM2加密解密
- 一、代码
一、代码
封装加密、解密接口:
加密接口: Encrpt_SM2()
解密接口:Decrypt_SM2()
加密解密结果可以和nodejs的模块sm-crypto
互相加密解密源码下载地址:国密算法SM2加密解密接口封装demo(c++)
使用Visual studio 2017编译通过
int main()
{int ret = 0;// added by junxue.zheng SM2加密std::string inputStr = "junxue"; //需要加密的字符串,如图所示,字符串中不可以有\0,否则后面的会加密失败unsigned char inputChar[65535]; //字符串转换为char类型inputStr.copy((char*)inputChar, inputStr.length(), 0); int inputLen = inputStr.length();//未加密前数据的长度int a = sizeof(inputStr);unsigned char tempbuf[65535] = { 0 };//加密后的数据ret = Encrpt_SM2(inputChar, inputLen, tempbuf);//加密,秘钥封装在了Encrpt_SM2(内部)int tempLen = strlen((const char*)tempbuf);// 输出的就是发送给js解密的字符串,可以把以下打印出的字符发送给js解密验证printf("enc result:");printf("\n");int i = 0;for (i = 0; i < tempLen; i++){printf("%02X", tempbuf[i]);//printf("%x", sendbuf[i]);if (1 == (i + 1) % 32 && i!=0)printf("\n");}printf("\n");// 解密nodejs发送的数据。若收到数据是string,则需要转换为char数组 ,若收到的数据是char,则直接引用。以下以收到的数据为string为例说明;// encData_str是收到js发送的数据;也可以是上面加密后的数据tempbufstd::string encData_str = "04EBFC718E8D1798620432268E77FEB6415E2EDE0E073C0F4F640ECD2E149A73E858F9D81E5430A57B36DAAB8F950A3C64E6EE6A63094D99283AFF767E124DF089D494BCA98353CF1EB00DF753450763D85E90162610262E97C3E75FA335F75EB0176C8F5AA2";int encDataLen = encData_str.length();unsigned char encData_char[65535];unsigned char decData[65535];encData_str.copy((char*)encData_char, encDataLen, 0);ret = Decrypt_SM2(encData_char, encDataLen, decData);//解密,秘钥封装在了Decrypt_SM2(内部)system("pause");return 0;
}
c++国密算法SM2加密解密demo相关推荐
- 国密算法SM2加密解密
一.依赖包 <!-- hutool的 SM2 加密--><dependency><groupId>org.bouncycastle</groupId>& ...
- 国密算法SM2加解密_签名验签图形化例子
点击上方蓝字可直接关注!方便下次阅读.如果对你有帮助,麻烦点个在看或点个赞,感谢~ 国密SM2概述 对国密算法有了解的朋友看到SM2可能会先想到非对称加密,之前的SM4是对称加密.SM4加解密使用的是 ...
- 国密算法SM2加解密,签名和验签java语言
SM2加解密java语言 maven项目 引入bcprov-jdk15on <dependency><groupId>org.bouncycastle</groupId& ...
- 国密算法SM2加解密数据,解密出现异常
参考开源项目:https://github.com/ZZMarquis/gmhelper 旧标准的加密排序C!C2C3 新标准 C!C3C2 C1为65字节第1字节为压缩标识,这里固定为0x04,后面 ...
- 国家医保移动支付国密算法SM2签名验签、SM4加解密DLL
国家医保移动支付国密算法SM2签名验签.SM4加解密DLL 支持医保移动支付(国家统一版), 已知省份有广西.贵州.安徽.河北.黑龙江.湖南.吉林.江苏.四川.新疆等各地方. DLL,非.net开发, ...
- 国密算法—SM2介绍及基于BC的实现
国密算法-SM2介绍及基于BC的实现 文章目录 国密算法-SM2介绍及基于BC的实现 简介 私钥 公钥 数据格式 密钥数据格式 私钥数据格式 公钥数据格式 加密数据格式 签名数据格式 计算过程 生成密 ...
- 国密算法SM2证书制作
原文链接:http://www.jonllen.com/jonllen/work/162.aspx 国密算法SM2证书制作 分类:工作 大中小 前段时间将系统的RSA算法全部升级为SM2国密算法,密码 ...
- 国密算法 SM2公钥密码 SM3杂凑算法 SM4分组密码 python代码完整实现
包含SM2公钥密码.SM3杂凑算法和SM4分组密码的国密算法完整工具包完成了.此前分别发布过上述三个算法的代码: SM2:国密算法 SM2 公钥加密 非对称加密 数字签名 密钥协商 python实现完 ...
- 小程序 js 库。国密算法 sm2、sm3 和 sm4 的实现
sm-crypto 小程序 js 库.国密算法 sm2.sm3 和 sm4 的实现. 使用此组件需要依赖小程序基础库 2.2.1 以上版本,同时依赖开发者工具的 npm 构建.具体详情可查阅官方 np ...
最新文章
- LeetCode简单题之三维形体的表面积
- 2020年最新全球大学学术排名出炉
- linux C高手成长过程---书籍推荐
- opencv 最大内接矩形笔记
- 中国移动雄安研究院 2020校园招聘笔试JAVA方向(一)
- net MVC 重定向总结
- ajax获取php的数组,使用AJAX请求获取数组并将其传递到php数组中 - javascript
- 华为云上可订阅F5_F5亮相华为云计算大会 解读云应用交付
- c语言 画线函数,c语言绘制函数曲线
- mysql前一天_mysql查询当天,前一天,一周,一个月
- pillow是python的图像处理标准库_详解Python图像处理库Pillow常用使用方法
- 配置classpath,引入jar包
- gorm bool 指针 不更新_百度网盘不限速BaiduPCS-Go for Mac
- 信息系统项目管理师自学笔记(二十二)——布线工程、网络规划与设计
- priority java_java基础—-多线程之priority(四)
- 计算机网络基础知识总结【转自微信公众号杰哥的IT之旅】
- 【物联网】物联网项目之北向接口与南向接口
- 单词接龙c++题解,请勿抄袭
- 工程经济在施工项目成本控制中应用
- niosii spi 外部_转载:NIOS II spi详解
热门文章
- 融云超级群的「新能力」
- 超级群、群组、聊天室,IM 产品的场景化「特异功能」
- 精确店铺人群标签,着重分析自然流量
- 韩国计算机研究生课程,2020年韩国大学计算机科学硕士申请条件
- CIE LAB色差公式与 CIE DE 2000色差公式计算类
- 高斯数据库和oracle,华为openGauss数据库正式开源 华为高斯数据库与Oracle区别
- 计算机程序存储在哪里,计算机正在运行的程序存放在哪里?
- 小程序生成图片保存到系统相册_电子相册怎么做 快速制作电子相册方法
- 德业DYD-T22A3除湿机接入HomeAssistant记录
- 51单片机串口通讯介绍和实现