- 博客(43)
- 资源 (17)
- 收藏
- 关注

原创 Java-JPBC-SM9(GBT 38635)实现与测试
基于JPBC的SM9实现,验证了《GBT 38635-2020 信息安全技术 SM9标识密码算法》。
2023-03-20 23:25:57
6514
4

原创 国密SM9算法C++实现之0:源码下载地址
SM9算法C++实现系列目录:国密SM9算法C++实现之0:源码下载地址国密SM9算法C++实现之一:算法简介国密SM9算法C++实现之二:测试工具国密SM9算法C++实现之三:椭圆曲线接口、参数初始化国密SM9算法C++实现之四:基本功能函数与KGC接口的实现国密SM9算法C++实现之五:签名验签算法国密SM9算法C++实现之六:密钥封装解封算法国...
2018-11-12 21:24:06
10164
23
原创 CMAC(GBT 15852.1)和OMAC(RFC4493/NIST SP800-38B)的java实现和测试
CMAC和OMAC的java实现和测试
2022-11-04 14:22:51
2167
原创 RSA公私钥格式分析及其在Java和Openssl之间的转换方法
文章目录PKCS#1和PKCS#8X.509公钥证书ASN.1抽象语法标记DER和PEM编码OID对象标识符用openssl命令生成RSA密钥生成RSA私钥从私钥中导出公钥PKCS#1格式的RSA公钥PKCS#1格式的RSA私钥PKCS#8格式的未加密的RSA私钥X.509中RSA公钥待续PKCS#1和PKCS#8PKCS(The Public-Key Cryptography Standar...
2019-05-01 17:41:27
6569
3
原创 基于C++实现的一种通用Base编解码器(Hex(Base16)/Base32/Base64)
使用Hex(十六进制)编码、Base32编码和Base64编码可以将二进制数据编码为可视化字符串。它们的原理是一样的,都是将指定位数的二进制数据编码为特定字符空间中的一个字符。Hex:也叫作Base16编码;每4位编码为一个字符,字符空间为"0123456789abcdef"或"0123456789ABCDEF";不区分大小写,其中的字母可以编码为大写也可以编码为小写,同时解码也不区分大小写,...
2019-04-12 23:30:20
5785
1
原创 国密SM9算法C++实现之九:算法功能与测试例子
国密SM9算法C++实现之八:算法功能与测试例子国密SM9算法C++实现之八:算法功能与测试例子测试例子算法功能部分实现SM9.hSM9.cpp测试例子实现完KGC密钥生成和各个算法功能部分后,可以测试一下。 使用SM9算法时只需要包含KGC.h和SM9.h两个文件,上层数据都用std::string储存,不涉及到底层数据结构。#includ...
2018-07-07 04:50:01
14445
18
原创 国密SM9算法C++实现之八:密钥交换算法
国密SM9算法C++实现之七:密钥交换算法国密SM9算法C++实现之七:密钥交换算法密钥交换算法流程密钥交换结果值密钥协商初始化:keyExchange_init临时密钥对:TempKeyPairKeyAgreement .h接口描述密钥交换算法实现密钥交换算法流程SM9标准文档中描述的密钥交换算法流程如下所示: 其流程图为: 密钥交...
2018-07-07 04:35:13
6882
8
原创 国密SM9算法C++实现之七:加密解密算法
国密SM9算法C++实现之六:加密解密算法国密SM9算法C++实现之六:加密解密算法加密算法流程加密结果值Cipher.h加密算法实现解密算法流程解密算法实现加密算法流程SM9标准文档中描述的加密算法流程如下所示: 其流程图为: 根据算法描述,定义接口函数: /** * 加密 * * @param...
2018-07-07 04:01:02
11026
原创 国密SM9算法C++实现之六:密钥封装解封算法
国密SM9算法C++实现之五:密钥封装解封算法国密SM9算法C++实现之五:密钥封装解封算法密钥封装算法流程密钥封装值密钥封装算法实现密钥解封算法流程密钥解封算法实现密钥封装算法流程SM9标准文档中描述的密钥封装算法流程如下所示: 其流程图为: 根据算法描述,定义接口函数: /** * 密钥封装 *...
2018-07-07 03:41:03
4112
原创 国密SM9算法C++实现之五:签名验签算法
国密SM9算法C++实现之四:签名验签算法国密SM9算法C++实现之四:签名验签算法签名算法流程签名值Signature.h签名算法实现验签算法流程验签算法实现实现完KGC部分后,可以开始实现SM9算法部分。本篇描述签名验签算法的实现。签名算法流程SM9标准文档中描述的签名算法流程如下所示:其流程图为: 根据算法描述,定义接...
2018-07-07 03:24:08
8761
7
原创 国密SM9算法C++实现之四:基本功能函数与KGC接口的实现
国密SM9算法C++实现之四:基本功能函数与KGC接口的实现国密SM9算法C++实现之四:基本功能函数与KGC接口的实现Base类Base.hBase.cpp主密钥对MasterKeyPair.h在有了上篇文章描述的底层支持后,可以开始实现SM9算法的各个部分了,整体总共分为2个类,KGC和SM9。 KGC类中实现主密钥对和用户私钥的生成;SM9类实...
2018-07-07 02:39:01
7062
4
原创 国密SM9算法C++实现之三:椭圆曲线接口、参数初始化
国密SM9算法C++实现之三:曲线接口、参数初始化国密SM9算法C++实现之三:曲线接口、参数初始化错误异常处理数学功能群G1倍点计算群G2倍点计算R-ate双线性对计算参数初始化Parameters.hParameters.cpp双线性对计算zzn12.hzzn12.cpp下面的几篇文章将描述一下基于miracl的SM9算法的各部分的...
2018-07-07 02:07:56
10352
8
原创 国密SM9算法C++实现之二:测试工具
国密SM9算法C++实现之二:测试工具在网上找了个基于miracle库实现的SM9算法例子,经过完善后写了在win10的vs2015中写了个测试工具,主要的界面功能截图如下。KGC密钥生成 在上一篇介绍中已经说明,SM9中的密钥包括KGC的签名主密钥对和加密主密钥对、用户的签名私钥和加密私钥。同时用户的加密私钥又分为两种,一种是用在密钥解封和解密中,另一种是用在密钥交换中,二者都是加密...
2018-07-04 22:10:01
7786
33
原创 国密SM9算法C++实现之一:算法简介
国密SM9算法C++实现之一:算法简介SM9标识密码算法是由国密局发布的一种IBE(Identity-Based Encryption)算法。IBE算法以用户的身份标识作为公钥,不依赖于数字证书。国密SM9算法标准包括5个文档,分别为: 《GMT 0044-2016 SM9标识密码算法:第1部分 总则》 《GMT 0044-2016 SM9标识密码算法:第2部分 数字签名算法》 《GMT...
2018-07-01 00:57:04
27250
30
原创 java jna-platform 创建win32窗口
使用jna-platform的win32接口,调用windows本地库,直接创建一个win32窗口
2018-03-02 09:35:31
4117
原创 CMake入门3——更多指令的使用
基本语法规则内部构建与外部构建例7 外部构建以及project和message指令基本语法规则从前面的几个例子中,我们使用了cmake的几条基本指令,在这里,总结一下:cmake由指令、注释和空白字符组成以#开头,到行末尾的是注释形如指令(参数1 参数2 参数3 ...)的是指令,参数间使用空格或者分号;隔开指令不区分大小写,但参数是区分大小写的cmake中可
2018-01-13 15:31:53
5094
1
原创 CMake入门2——复杂项目的构建配置
例4 多文件单目录测试例5 多文件单子目录测试例6 多目录和多级目录测试CMake入门1——CMake与VS编译器和nmake的结合使用例4 多文件单目录测试此测试项目将所有的文件都放在根目录下。 在CMakeTest目录下新建demo4目录。demo4项目文件列表如下: 其中实现了算术运算的加减乘除,每个功能分别实现在各自的文件中:int my
2018-01-12 14:25:05
5267
原创 CMake入门1——CMake与VS编译器和nmake的结合使用
下载安装例1 使用cmake-gui与VS生成器例3 PreLoadcmake用法本文描述在Win10-64位系统中安装CMake、cmake-gui的简单使用及其与VS2015编译器的结合使用,以及cmake命令行与nmake的结合使用。下载从CMake官网上下载最新版本的安装包,本文中下载的是 cmake-3.10.1-win64-x64.msi。若不想安装,可直
2018-01-11 12:14:17
33257
2
原创 VC++ CTabCtrl控件自定义宏使用例子
为了更方便地使用VC++中的CTabCtrl控件,特在YTabCtrl.h文件中定义了几个宏,通过使用宏,可以方便地实现TAB控件的功能。
2017-04-06 14:26:53
1488
原创 任意角度的RGB双色线性渐变算法示例
本例的能实现0~360度的任意角度线性渐变双色矩形填充。 用两种RGB颜色对矩形进行线性渐变填充时,需要合适的算法计算各点的颜色,这样才不会出现中间过渡色,或者出现渐变填充不完整。而在增加从任意角度进行渐变后,情况似乎变得更加复杂。
2016-07-30 00:06:35
9297
原创 删除 Win10 资源管理器中的6个文件夹
安装Win10后,当打开资源管理器(我的电脑/计算机)时,会显示6个文件夹:图片、视频、下载、音乐、桌面、文档。若要想要隐藏他们,则只需将下面的文本保存为*.reg文件,然后双击执行即可。
2016-06-06 01:04:52
7572
原创 CTreeCtrl checkbox 单击选择
VC中CTreeCtrl设置了checkbox之后,其选择事件需要自己写代码实现,主要是为了能达到以下目的:(1)单击一个节点后,它的所有子节点(包括子节点的子节点)的状态都要和它设为一致,即它选中则所有子节点都选中,反之亦然。(2)单击一个节点后,若当前节点设置为选中,则需要判断:若当前节点的其他所有兄弟节点都已选中,那么当前节点的父节点也要选中;否则只把当前节点设为未选中状态。……
2016-04-08 22:57:20
4306
2
原创 VC 中 C/C++ 增减量运算符解析
C/C++ 增减量运算符解析 ——ILLI VC中前后缀增减量运算法则:(1)优先级:前缀>算术运算 >后缀;(2)结合性:前缀左结合,后缀右结合。 C/C++的增减量运算符分为自增(++)和自减(--)两种,同时又有前缀和后缀之别,在C/C++程序中也较为常见。单一的增
2014-08-02 22:33:41
888
原创 protobuf在Java中的简单使用
Protobuf在Java中的简单使用 1. 在Java中使用protobuf需要jar包,下载protobuf-Java-2.5.0.jar包文件,添加到项目中。另外需要protoc.exe来编译proto文件。2. 新建一个msg.proto文件:3. 将msg.proto文件盒protoc.exe拷贝到同一目录下,然后使用下面的命令将msg.pr
2014-07-02 14:12:53
1938
原创 VS2010 下编译Protocol Buffer 及使用
VS2010下编译ProtocolBuffer 及使用 1. 从http://code.google.com/p/protobuf/downloads/list上下载protobuf-2.5.0.zip。2. 解压并打开目录下的protobuf-2.5.0\vsprojecs\protobuf.sln工程,生成解决方案。在dubug或release目录下会生成几个.
2014-07-02 10:53:04
4345
原创 MFC TreeCtrl 控件(一):简单使用
本文描述了 MFC 中的树形控件 TreeCtrl 的简单使用,内容包括数据项的添加、图标设置、提示信息设置等。 新建基于对话框的应用程序,添加一个 TreeCtrl ,为其定义一个控件变量 m_userTreeCtrl,并将其属性:Has Buttons、Has Lines、Lines At Root和 Info Tip 都设为True。插入3个Icon资源,分别作为 管理员、部门、用
2014-06-20 10:43:59
3395
原创 PODOFO编译之3——可用篇
PODOFO编译之可用篇 前面写了一篇编译PoDoFo的文章《PODOFO编译之依赖项编译及podofo-0.9.2编译》,记录了编译各个库的一般方法和步骤,由于是初次接触,因此免不了出了些错误,特别是在后面的使用中。 后来,又重新编译了一遍,主要是把每个库都编译为调试版和发布版,如此再使用编译所得的podofo.lib时,则正确性提高许多。其中一些要
2014-01-02 15:20:29
2506
翻译 podofo文档——名称空间参考
7.1.1 详细描述所有PoDoFo的类、函数、类型和枚举都是这些名称空间的成员。如果你使用PoDoFo,你可能想要添加这一行: using namespace PoDoFo; 到你的应用程序中。 PODOFO_USE_UNORDERED_MAP如果你设置了这个定义,PoDoFo 在PdfDictionary 中将用std::tr1::unordered_map 代替std::map 。一些
2013-12-30 09:16:07
2286
翻译 Podofo文档——代码样式说明
podofo-0.9.0 文档第1章 主页 PdfCompilerCompat.h 汇集了不受欢迎的各种编译器兼容性需求到一个集中的位置。如果所有的编译器特定的定义、封装程序和喜好对库的公共用户是必须可见的,那么它们都应该被包含在这儿和PdfCompilerCompat.cpp(如果必要)中。如果那些令人讨厌的平台和编译器的特定技巧可以被保持到PoDoFo的构建
2013-12-30 08:55:22
3033
原创 PODOFO编译之4——加密测试
Podofo使用之加密测试 Podofo编译后的都是命令行模式的exe程序,为了验证podofo库的正确性,特通过一个MFC程序来加密PDF文件。界面如下:该程序的代码即是podofo项目中的podofoenctypt。但是在库的使用方面则需进行一些设置,该项目名称为pdfEnctyptTest。需要忽略的库:libcmtd.lib、libcmt.li
2013-12-25 11:17:04
1836
原创 VC++ 从 CString类型的文件路径中获取文件名和扩展名
CString GetFileFullName(CString csFilePath){ int nPos = csFilePath.ReverseFind('\\'); // 文件路径,以'\'斜杠分隔的路径 CString csFileFullName; csFileFullName = csFilePath.Right(csFilePath.GetLength() - nPos -
2013-12-24 14:46:38
5319
2
原创 PODOFO编译之2——依赖项编译及podofo-0.9.2编译
PODOFO编译之依赖项编译及podofo-0.9.2编译 在podofo-0.9.2中,ZLIB和OpenSSL是必须的,其他的可选,本例仅选重要的几个依赖项进行编译。本例是参照下面两个链接中的文章进行的,内容也无所变更,只是版本不同,但鉴于亲自动手操作亦有必要作下笔记,故记于此。http://blog.youkuaiyun.com/zxxssdsd/article/detai
2013-12-20 10:14:53
4968
原创 PODOFO编译之1——CMake安装与简单测试
1. 在http://www.cmake.org/cmake/resources/software.html下载CMake的二进制发布版安装包cmake-2.8.12.1-win32-x86.exe。安装时选择添加CMake到系统Path中。2. CMake支持in-place建构(二进档和源代码在同一个目录树中)和out-of-place建构(二进档在别的目录
2013-12-18 09:10:17
1881
原创 VC 组合框重绘大全 效果图(附下载链接)
重绘了些组合框,分别组合框中编辑框文本垂直居中(完全垂直居中显示)和不垂直居中(指没有直接处理垂直居中,但简单的效果也类似于垂直居中)的,下载链接为:未计算型垂直居中:计算型垂直居中:
2013-08-05 22:15:20
1595
原创 通过 WM_NCCALCSIZE 消息设置VC组合框或编辑框文本垂直居中
设置组合框的文本垂直居中显示,除了重绘之外,还可以直接在其父对话框中通过在 WM_NCCALCSIZE 消息的响应函数中来搞定它,首先可以通过SetItemHeight设置组合框高度,然后进行下面的操作:void CComBoxTest1Dlg::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp){ // TO
2013-08-05 21:32:09
2346
原创 通过 WM_CTLCOLOR 设置VC 组合框显示属性(字体、颜色、背景)
在mfc中的对话框里使用组合框控件的时候,在没有重写CComboBox类的情况下,可以通过对话框的 WM_CLTCOLOR 消息的响应函数 OnCtlColor 设置组合框的一些显示特性,包括字体的设置、字体颜色的设置、背景颜色的设置、显示文本部分的背景颜色的设置,同时,这些设置有可以分别针对组合框中的编辑框、组合框中的列表框、组合框只读时的静态文本框(组合框的构成就是这三个部分)。参考代码:
2013-08-05 21:08:39
3649
SM9-miracl-VS2019-x86&x64
2023-02-19
CMAC/OMAC1的java实现、验证和测试
2022-11-04
VC CTabCtrl 简化使用方法,类继承方式
2020-11-18
基于JPBC的SM9算法的java实现
2019-04-18
国密SM9算法测试工具
2018-07-04
CTabCtrlDemo
2018-06-05
任意角度线性渐变
2016-07-30
Protobuf 2.5.0 在Java中的简单使用
2014-07-02
VC下Protobuf 2.5.0 库下载及使用文档
2014-07-02
Podofo使用之加密测试
2013-12-25
podofo及其依赖项文档源码下载包(2013.12.20)
2013-12-23
VC组合框完全重绘
2013-08-05
编辑框垂直居中
2013-08-03
组合框自绘(包括它的下拉列表)
2013-07-30
编辑框类扩展 文本垂直居中,边框重绘
2013-07-29
继承自静态文本框的用GDI+绘制的支持PNG透明图片的滚动条类
2013-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人