2 Star 1 Fork 0

精易科技/dp1

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
dp1_cmdDef.cpp 4.79 KB
一键复制 编辑 原始数据 按行查看 历史
精易科技 提交于 2022-12-19 16:54 . 初始化仓库
#include "include_dp1_header.h"
// 调用格式: SDT_BIN 压缩数据, 命令说明: "压缩一段字节集数据,返回被压缩后的结果字节集。如果压缩失败,返回空字节集"
// 参数<1>: 字节集数据 SDT_BIN, 参数说明: "为命令提供所需的字节集数据"
DP1_EXTERN_C void dp1_Compress_0_dp1(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
LPBYTE arg1 = pArgInf[0].m_pBin;
}
// 调用格式: SDT_BIN 解压数据, 命令说明: "解压一个内含被压缩数据的字节集,返回被解压后的结果字节集。如果压缩失败,返回空字节集。注意解压后的数据也有可能是空字节集"
// 参数<1>: 字节集数据 SDT_BIN, 参数说明: "为命令提供所需的字节集数据"
DP1_EXTERN_C void dp1_Uncompress_1_dp1(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
LPBYTE arg1 = pArgInf[0].m_pBin;
}
// 调用格式: SDT_TEXT 取数据摘要, 命令说明: "返回一段字节集数据的MD5数据摘要编码文本。不同数据的MD5码都不一样,因此本命令可以用作保证重要数据不会被篡改"
// 参数<1>: 字节集数据 SDT_BIN, 参数说明: "为命令提供所需的字节集数据"
DP1_EXTERN_C void dp1_GetMD5_2_dp1(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
LPBYTE arg1 = pArgInf[0].m_pBin;
}
// 调用格式: SDT_BIN 加密数据, 命令说明: "加密一段字节集数据,返回加密后的结果字节集。如果失败,返回空字节集"
// 参数<1>: 字节集数据 SDT_BIN, 参数说明: "为命令提供所需的字节集数据"
// 参数<2>: 密码文本 SDT_TEXT, 参数说明: NULL
// 参数<3>: [加密算法 SDT_INT], 参数说明: "指定具体使用的加密算法,可以为以下常量值之一:1: #DES算法; 2: #RC4算法。加密和解密必须使用相同的算法,有关算法的具体说明请参阅有关文献。如果本参数被省略,则默认值为1,即DES算法"
DP1_EXTERN_C void dp1_Encrypt_3_dp1(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
LPBYTE arg1 = pArgInf[0].m_pBin;
LPSTR arg2 = pArgInf[1].m_pText;
INT arg3 = pArgInf[2].m_int;
}
// 调用格式: SDT_BIN 解密数据, 命令说明: "解密一段加密后的字节集数据,返回解密后的结果字节集。注意本命令并不对密码文本进行校验,如果密码提供错误,将返回错误的结果。如果失败,返回空字节集"
// 参数<1>: 字节集数据 SDT_BIN, 参数说明: "为命令提供所需的字节集数据"
// 参数<2>: 密码文本 SDT_TEXT, 参数说明: NULL
// 参数<3>: [加密算法 SDT_INT], 参数说明: "指定具体使用的加密算法,可以为以下常量值之一:1: #DES算法; 2: #RC4算法。加密和解密必须使用相同的算法,有关算法的具体说明请参阅有关文献。如果本参数被省略,则默认值为1,即DES算法"
DP1_EXTERN_C void dp1_Decrypt_4_dp1(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
LPBYTE arg1 = pArgInf[0].m_pBin;
LPSTR arg2 = pArgInf[1].m_pText;
INT arg3 = pArgInf[2].m_int;
}
// 调用格式: SDT_TEXT 数字签名, 命令说明: "使用RSA非对称密钥算法对指定字节集数据进行签署,支持32到4096之间任意合法的RSA位数,返回签署后的结果文本。\r\n 附一、电子签名系统简要实现方法:\r\n 首先给所有具有签署权利的人员授予不同的RSA钥匙,RSA钥匙由“公钥”、“私钥”、“公共模数”三部分组成,为了生成符合要求的随机密钥,可以下载使用 http://dywt.com.cn/RSATool2v14.rar 第三方工具软件(内有操作说明)。然后将所有人员的“公钥”和“公共模数”成对向外公布,“私钥”由被授予人员自行妥善保管。\r\n 被授权人员使用“私钥”和“公共模数”对指定数据进行签署,然后将签署后的结果文本随同被签署数据一起发送,接收者收到后,使用该签署者公开的“公钥”和“公共模数”及签署结果文本对被签署数据进行验证,如验证通过则说明该数据必定是此签署者所认可的,且没有经过任何篡改。\r\n 附二、数字签名用作软件注册系统的实现步骤:\r\n 1、欲注册用户提供注册信息(如硬件代码、用户姓名等);\r\n 2、软件作者使用自己的私钥对该注册信息进行数字签署得到签署结果文本;\r\n 3、将此签署结果文本作为注册钥匙文件发送给用户;\r\n 4、在用户端的软件使用相同的用户信息、注册钥匙文件及软件作者的公钥进行签名验证,如果通过表明已经注册,否则表示未注册。使用本方法在私钥未泄露的前提下,可以绝对避免破解者做出软件的注册机"
// 参数<1>: 待签署字节集数据 SDT_BIN, 参数说明: NULL
// 参数<2>: 签署者私钥文本 SDT_TEXT, 参数说明: "为十六进制数值文本"
// 参数<3>: 签署者公共模数 SDT_TEXT, 参数说明: "为十六进制数值文本"
DP1_EXTERN_C void dp1_RSAEncrypt_5_dp1(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
LPBYTE arg1 = pArgInf[0].m_pBin;
LPSTR arg2 = pArgInf[1].m_pText;
LPSTR arg3 = pArgInf[2].m_pText;
}
// 调用格式: SDT_BOOL 签名验证, 命令说明: "使用指定公钥和签署结果文本对被签署字节集数据进行验证,如验证通过则说明该字节集数据必定是此公钥拥有者(即签署者)所认可的,且签署后未经任何篡改。验证通过返回真,否则返回假"
// 参数<1>: 待验证被签署字节集 SDT_BIN, 参数说明: NULL
// 参数<2>: 签署结果文本 SDT_TEXT, 参数说明: "必须为“数字签名”命令所返回的结果"
// 参数<3>: 签署者公钥文本 SDT_TEXT, 参数说明: "为十六进制数值文本"
// 参数<4>: 签署者公共模数 SDT_TEXT, 参数说明: "为十六进制数值文本"
DP1_EXTERN_C void dp1_RSACheck_6_dp1(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
LPBYTE arg1 = pArgInf[0].m_pBin;
LPSTR arg2 = pArgInf[1].m_pText;
LPSTR arg3 = pArgInf[2].m_pText;
LPSTR arg4 = pArgInf[3].m_pText;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/JYtechnology/dp1.git
git@gitee.com:JYtechnology/dp1.git
JYtechnology
dp1
dp1
master

搜索帮助