自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java-JPBC-SM9(GBT 38635)实现与测试

基于JPBC的SM9实现,验证了《GBT 38635-2020 信息安全技术 SM9标识密码算法》。

2023-03-20 23:25:57 4259 3

原创 基于JPBC的SM9算法的java实现与测试

基于JPBC的SM9算法的java实现与测试

2019-04-18 22:14:39 20288 51

原创 国密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 9443 23

原创 CMAC(GBT 15852.1)和OMAC(RFC4493/NIST SP800-38B)的java实现和测试

CMAC和OMAC的java实现和测试

2022-11-04 14:22:51 1573

原创 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 5672 3

原创 基于C++实现的一种通用Base编解码器(Hex(Base16)/Base32/Base64)

使用Hex(十六进制)编码、Base32编码和Base64编码可以将二进制数据编码为可视化字符串。它们的原理是一样的,都是将指定位数的二进制数据编码为特定字符空间中的一个字符。Hex:也叫作Base16编码;每4位编码为一个字符,字符空间为"0123456789abcdef"或"0123456789ABCDEF";不区分大小写,其中的字母可以编码为大写也可以编码为小写,同时解码也不区分大小写,...

2019-04-12 23:30:20 5075 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 13784 17

原创 国密SM9算法C++实现之八:密钥交换算法

国密SM9算法C++实现之七:密钥交换算法国密SM9算法C++实现之七:密钥交换算法密钥交换算法流程密钥交换结果值密钥协商初始化:keyExchange_init临时密钥对:TempKeyPairKeyAgreement .h接口描述密钥交换算法实现密钥交换算法流程SM9标准文档中描述的密钥交换算法流程如下所示: 其流程图为: 密钥交...

2018-07-07 04:35:13 6370 8

原创 国密SM9算法C++实现之七:加密解密算法

国密SM9算法C++实现之六:加密解密算法国密SM9算法C++实现之六:加密解密算法加密算法流程加密结果值Cipher.h加密算法实现解密算法流程解密算法实现加密算法流程SM9标准文档中描述的加密算法流程如下所示: 其流程图为: 根据算法描述,定义接口函数: /** * 加密 * * @param...

2018-07-07 04:01:02 10262 2

原创 国密SM9算法C++实现之六:密钥封装解封算法

国密SM9算法C++实现之五:密钥封装解封算法国密SM9算法C++实现之五:密钥封装解封算法密钥封装算法流程密钥封装值密钥封装算法实现密钥解封算法流程密钥解封算法实现密钥封装算法流程SM9标准文档中描述的密钥封装算法流程如下所示: 其流程图为: 根据算法描述,定义接口函数: /** * 密钥封装 *...

2018-07-07 03:41:03 3782

原创 国密SM9算法C++实现之五:签名验签算法

国密SM9算法C++实现之四:签名验签算法国密SM9算法C++实现之四:签名验签算法签名算法流程签名值Signature.h签名算法实现验签算法流程验签算法实现实现完KGC部分后,可以开始实现SM9算法部分。本篇描述签名验签算法的实现。签名算法流程SM9标准文档中描述的签名算法流程如下所示:其流程图为: 根据算法描述,定义接...

2018-07-07 03:24:08 8107 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 6612 7

原创 国密SM9算法C++实现之三:椭圆曲线接口、参数初始化

国密SM9算法C++实现之三:曲线接口、参数初始化国密SM9算法C++实现之三:曲线接口、参数初始化错误异常处理数学功能群G1倍点计算群G2倍点计算R-ate双线性对计算参数初始化Parameters.hParameters.cpp双线性对计算zzn12.hzzn12.cpp下面的几篇文章将描述一下基于miracl的SM9算法的各部分的...

2018-07-07 02:07:56 9367 8

原创 国密SM9算法C++实现之二:测试工具

国密SM9算法C++实现之二:测试工具在网上找了个基于miracle库实现的SM9算法例子,经过完善后写了在win10的vs2015中写了个测试工具,主要的界面功能截图如下。KGC密钥生成 在上一篇介绍中已经说明,SM9中的密钥包括KGC的签名主密钥对和加密主密钥对、用户的签名私钥和加密私钥。同时用户的加密私钥又分为两种,一种是用在密钥解封和解密中,另一种是用在密钥交换中,二者都是加密...

2018-07-04 22:10:01 7202 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 26371 30

原创 java jna-platform 创建win32窗口

使用jna-platform的win32接口,调用windows本地库,直接创建一个win32窗口

2018-03-02 09:35:31 3911

原创 CMake入门3——更多指令的使用

基本语法规则内部构建与外部构建例7 外部构建以及project和message指令基本语法规则从前面的几个例子中,我们使用了cmake的几条基本指令,在这里,总结一下:cmake由指令、注释和空白字符组成以#开头,到行末尾的是注释形如指令(参数1 参数2 参数3 ...)的是指令,参数间使用空格或者分号;隔开指令不区分大小写,但参数是区分大小写的cmake中可

2018-01-13 15:31:53 5014 1

原创 CMake入门2——复杂项目的构建配置

例4 多文件单目录测试例5 多文件单子目录测试例6 多目录和多级目录测试CMake入门1——CMake与VS编译器和nmake的结合使用例4 多文件单目录测试此测试项目将所有的文件都放在根目录下。 在CMakeTest目录下新建demo4目录。demo4项目文件列表如下: 其中实现了算术运算的加减乘除,每个功能分别实现在各自的文件中:int my

2018-01-12 14:25:05 5087

原创 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 31400 2

原创 VC++ CTabCtrl控件自定义宏使用例子

为了更方便地使用VC++中的CTabCtrl控件,特在YTabCtrl.h文件中定义了几个宏,通过使用宏,可以方便地实现TAB控件的功能。

2017-04-06 14:26:53 1354

原创 任意角度的RGB双色线性渐变算法示例

本例的能实现0~360度的任意角度线性渐变双色矩形填充。 用两种RGB颜色对矩形进行线性渐变填充时,需要合适的算法计算各点的颜色,这样才不会出现中间过渡色,或者出现渐变填充不完整。而在增加从任意角度进行渐变后,情况似乎变得更加复杂。

2016-07-30 00:06:35 8729 1

原创 删除 Win10 资源管理器中的6个文件夹

安装Win10后,当打开资源管理器(我的电脑/计算机)时,会显示6个文件夹:图片、视频、下载、音乐、桌面、文档。若要想要隐藏他们,则只需将下面的文本保存为*.reg文件,然后双击执行即可。

2016-06-06 01:04:52 7435

原创 CTreeCtrl checkbox 单击选择

VC中CTreeCtrl设置了checkbox之后,其选择事件需要自己写代码实现,主要是为了能达到以下目的:(1)单击一个节点后,它的所有子节点(包括子节点的子节点)的状态都要和它设为一致,即它选中则所有子节点都选中,反之亦然。(2)单击一个节点后,若当前节点设置为选中,则需要判断:若当前节点的其他所有兄弟节点都已选中,那么当前节点的父节点也要选中;否则只把当前节点设为未选中状态。……

2016-04-08 22:57:20 3979 2

原创 VC 中 C/C++ 增减量运算符解析

C/C++ 增减量运算符解析                                         ——ILLI VC中前后缀增减量运算法则:(1)优先级:前缀>算术运算 >后缀;(2)结合性:前缀左结合,后缀右结合。 C/C++的增减量运算符分为自增(++)和自减(--)两种,同时又有前缀和后缀之别,在C/C++程序中也较为常见。单一的增

2014-08-02 22:33:41 815

原创 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 1687

原创 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 4209 1

原创 JNI 入门学习笔记(一)

因需要

2014-06-26 16:27:52 711

原创 MFC TreeCtrl 控件(二):显示特性设置 颜色、图标、完全展开

MFC 的 TreeCtrl 树形控件提供了设置背景色、

2014-06-20 15:55:58 7490 2

原创 MFC TabCtrl 控件简单使用

本文记录 MFC 中 TabCtrl 控件的简单使用,内容包括

2014-06-20 13:37:46 3944 1

原创 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 3297

原创 PODOFO编译之3——可用篇

PODOFO编译之可用篇          前面写了一篇编译PoDoFo的文章《PODOFO编译之依赖项编译及podofo-0.9.2编译》,记录了编译各个库的一般方法和步骤,由于是初次接触,因此免不了出了些错误,特别是在后面的使用中。         后来,又重新编译了一遍,主要是把每个库都编译为调试版和发布版,如此再使用编译所得的podofo.lib时,则正确性提高许多。其中一些要

2014-01-02 15:20:29 2362 2

翻译 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 2138

翻译 Podofo文档——代码样式说明

podofo-0.9.0 文档第1章 主页 PdfCompilerCompat.h 汇集了不受欢迎的各种编译器兼容性需求到一个集中的位置。如果所有的编译器特定的定义、封装程序和喜好对库的公共用户是必须可见的,那么它们都应该被包含在这儿和PdfCompilerCompat.cpp(如果必要)中。如果那些令人讨厌的平台和编译器的特定技巧可以被保持到PoDoFo的构建

2013-12-30 08:55:22 2767

原创 PODOFO编译之4——加密测试

Podofo使用之加密测试          Podofo编译后的都是命令行模式的exe程序,为了验证podofo库的正确性,特通过一个MFC程序来加密PDF文件。界面如下:该程序的代码即是podofo项目中的podofoenctypt。但是在库的使用方面则需进行一些设置,该项目名称为pdfEnctyptTest。需要忽略的库:libcmtd.lib、libcmt.li

2013-12-25 11:17:04 1737

原创 VC++ 从 CString类型的文件路径中获取文件名和扩展名

CString GetFileFullName(CString csFilePath){ int nPos = csFilePath.ReverseFind('\\'); // 文件路径,以'\'斜杠分隔的路径 CString csFileFullName; csFileFullName = csFilePath.Right(csFilePath.GetLength() - nPos -

2013-12-24 14:46:38 5092 2

原创 PODOFO编译之2——依赖项编译及podofo-0.9.2编译

PODOFO编译之依赖项编译及podofo-0.9.2编译          在podofo-0.9.2中,ZLIB和OpenSSL是必须的,其他的可选,本例仅选重要的几个依赖项进行编译。本例是参照下面两个链接中的文章进行的,内容也无所变更,只是版本不同,但鉴于亲自动手操作亦有必要作下笔记,故记于此。http://blog.csdn.net/zxxssdsd/article/detai

2013-12-20 10:14:53 4752 5

原创 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 1763

原创 VC 组合框重绘大全 效果图(附下载链接)

重绘了些组合框,分别组合框中编辑框文本垂直居中(完全垂直居中显示)和不垂直居中(指没有直接处理垂直居中,但简单的效果也类似于垂直居中)的,下载链接为:未计算型垂直居中:计算型垂直居中:

2013-08-05 22:15:20 1559

原创 通过 WM_NCCALCSIZE 消息设置VC组合框或编辑框文本垂直居中

设置组合框的文本垂直居中显示,除了重绘之外,还可以直接在其父对话框中通过在 WM_NCCALCSIZE 消息的响应函数中来搞定它,首先可以通过SetItemHeight设置组合框高度,然后进行下面的操作:void CComBoxTest1Dlg::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp){ // TO

2013-08-05 21:32:09 2226

原创 通过 WM_CTLCOLOR 设置VC 组合框显示属性(字体、颜色、背景)

在mfc中的对话框里使用组合框控件的时候,在没有重写CComboBox类的情况下,可以通过对话框的 WM_CLTCOLOR 消息的响应函数 OnCtlColor 设置组合框的一些显示特性,包括字体的设置、字体颜色的设置、背景颜色的设置、显示文本部分的背景颜色的设置,同时,这些设置有可以分别针对组合框中的编辑框、组合框中的列表框、组合框只读时的静态文本框(组合框的构成就是这三个部分)。参考代码:

2013-08-05 21:08:39 3515 1

SM9-miracl-VS2019-x86&x64

基于老项目修改的支持 miracl x64位库。https://blog.csdn.net/yaoyuanyylyy/article/details/83998956

2023-02-19

CMAC/OMAC1的java实现、验证和测试

CMAC(GBT 15852.1)和OMAC(RFC4493/NIST SP800-38B)的java实现和测试。 https://blog.csdn.net/yaoyuanyylyy/article/details/127687829

2022-11-04

VC CTabCtrl 简化使用方法,类继承方式

通过继承YTabCtrl类来简化使用CTabCtrl的步骤,使其更方面简简洁。详情可参考 https://blog.csdn.net/yaoyuanyylyy/article/details/69389266

2020-11-18

基于JPBC的SM9算法的java实现

基于JPBC的SM9算法的java实现,实现SM9算法的所有部分。包括主密钥对的生成,用户私钥生成;签名验签算法,密钥封装解封算法,数据加密解密算法,密钥交换算法;以及对《GMT 0044-2016 SM9标识密码算法:第5部分》测试的验证。

2019-04-18

SM9算法测试VC项目源码

SM9算法源码,包括主密钥对生成,用户私钥生成,签名验签、密钥封装解封、加密解密和密钥交换等算法

2018-11-12

国密SM9算法测试工具

VS2015写的SM9算法测试工具,包括KGC密钥生成、签名验签、密钥封装解封、加密解密、密钥交换。另外还有SM2/3/4系列算法、SHA系列算法、几个分组算法、Base64编码和C++的随机数生成测试。

2018-07-04

CTabCtrlDemo

MFC的CTabCtrl控件的使用,通过定义一些宏来简化使用的方式。可以参考 https://blog.csdn.net/yaoyuanyylyy/article/details/69389266

2018-06-05

任意角度线性渐变

本例的能实现0~360度的任意角度线性渐变双色矩形填充。 用两种RGB颜色对矩形进行线性渐变填充时,需要合适的算法计算各点的颜色,这样才不会出现中间过渡色,或者出现渐变填充不完整。而在增加从任意角度进行渐变后,情况似乎变得更加复杂。详情请看http://blog.csdn.net/yaoyuanyylyy/article/details/52069571

2016-07-30

Protobuf 2.5.0 在Java中的简单使用

Protobuf在Java中的简单使用,包括一个使用步骤文档、protoc.exe编译程序、protobuf2.5.0.jar包,和一个Java测试程序: http://blog.csdn.net/yaoyuanyylyy/article/details/36416617

2014-07-02

VC下Protobuf 2.5.0 库下载及使用文档

VS2010下编译ProtocolBuffer及简单使用,资源包括了库文件,及使用说明文档,当然也可参考文章:http://blog.csdn.net/yaoyuanyylyy/article/details/36389277

2014-07-02

Podofo使用之加密测试

使用Podofo库进行PDF文件加密操作,由于podofo编译的繁琐,因此在项目中的debug版本出现了尚未解决的bug,只有release版本可以正常加密PDF文件。

2013-12-25

podofo及其依赖项文档源码下载包(2013.12.20)

该压缩包资源是windows下编译podofo所需的依赖项源码及安装包,是截止到2013-12-20的最新版本,另外还附加了两个编译podofo的辅助word文档,包括: cmake-2.8.12.1-win32-x86.exe ActivePerl-5.16.3.1603-MSWin32-x86-296746.msi ft252.zip jpegsr9.zip lpng167.zip openssl-1.0.1e.tar.gz podofo-0.9.2.tar.gz tiff-3.8.2-1-src.zip zlib128.zip PODOFO编译之CMake安装与简单测试.docx PODOFO编译之依赖项编译及podofo-0.9.2编译.docx

2013-12-23

VC组合框文本垂直居中

VC组合框文本完全地垂直居中显示,字体背景色设置,列表项重绘(颜色字体背景色设置),边框色设置,可删除,可只读

2013-08-05

VC组合框完全重绘

VC组合框完全重绘,4种边框样式(包括默认win7样式),字体颜色背景色设置,组合框中的列表框完全重绘,单双行高亮文本颜色字体颜色设置,宽度自适应,下拉按钮贴图,列表项删除按钮

2013-08-05

编辑框垂直居中

1.设置字体或更改窗口大小后,编辑框文本就可以垂直居中了 2.可以设置字体,包括字体名称、字体颜色、字体样式(加粗、倾斜、下划线)。 3.可以设置背景颜色 参考网址:http://blog.csdn.net/yaoyuanyylyy/article/details/9727223

2013-08-03

组合框自绘(包括它的下拉列表)

1.可分别设置组合框中编辑框和下拉列表框的字体、字体颜色、字体大小 2.可设置只读属性 3.可根据下拉列表项的文本长度扩宽下拉列表宽度 4.重绘下拉列表,包括边框和具有焦点的项 5.下拉列表项中提供了删除功能,非只读时显示并可删除 6.重绘了编辑框边框,背景自绘可自行扩展 7.根据组合框高度设置字体能达到伪垂直居中效果,主要就是需要这个

2013-07-30

编辑框类扩展 文本垂直居中,边框重绘

1.可设置字体、字体颜色、字体大小、字体样式(加粗、倾斜、下划线)、背景颜色,提供了接口函数。 2.可设置边框粗细宽度、边框颜色,包括正常颜色、鼠标经过颜色、禁用颜色和具有焦点时的颜色,提供了接口函数 3.对于设置字体大小提供了3个函数,分别用逻辑值、磅值、像素值设置。 4.一般性居中可设置字体大小,让字体撑大自己的显示高度;另一种则是绘制扩展的边框,通过设置边距来实现,提供接口SetNewMargins() 5.能够设置编辑框边框内部阴影,已固定左1像素,上2像素,右下无,但颜色的设置有接口。若阴影宽度需变,可自己扩展。 6.提供了一个接口SetTextVCenter(),快速设置垂直居中,如例中第4个编辑框。不过该函数尚遗留有些问题,待解决。

2013-07-29

继承自静态文本框的用GDI+绘制的支持PNG透明图片的滚动条类

该滚动条类 CXScrollBar 继承自 CStatic,用 GDI+ 完全自绘,采用贴图方式,支持png图片,因此可以设计精美的滚动条,同时使用方式也极其简单方便,事件映射已完全类封装,只需要初始化即可。压缩包内有详细例子。

2013-06-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除