没有合适的资源?快使用搜索试试~ 我知道了~
首页精锐E专业版开发指南与许可协议
精锐E专业版开发指南与许可协议
5星 · 超过95%的资源 需积分: 20 13 下载量 62 浏览量
更新于2024-07-21
收藏 1.57MB PDF 举报
"精锐E开发指南是一份详尽阐述精锐E专业版使用的文档,由北京深思洛克软件技术股份有限公司提供。该指南涵盖了精锐E的专业功能、许可协议、保证与责任限制以及联系方式等关键信息。" 本文档首先介绍了精锐E专业版的函数参考,这表明该指南可能包含了关于如何利用该产品进行软件开发的详细技术内容,包括可能的API调用、函数用法和示例代码,帮助开发者理解和应用精锐E的功能。 许可协议部分强调了用户使用精锐E的条件,其中包括用户只能按照规定进行备份、集成到自己的软件项目中,禁止复制、修改或逆向工程等行为。此外,协议还规定了12个月的产品质量保证期,期间若出现质量问题,深思洛克将提供更换、修理等补救措施。然而,公司明确表示不承担任何因使用产品导致的间接损失,包括数据丢失和利润损失等。 文档还指出,所有权与版权均归北京深思洛克软件技术股份有限公司所有,违反许可协议将导致授权终止。"精锐"是公司的注册商标,其他提及的产品和公司名称可能是各自所有者的商标。 联系信息部分提供了深思洛克的办公地址、电话、传真、电子邮箱和网址,方便用户在遇到问题或需求支持时能够直接联系到公司。 阅读指南部分暗示了手册的结构和目的,即帮助用户理解并有效使用精锐E专业版加密锁,可能包括安装步骤、使用教程、常见问题解答等内容,旨在促进开发者高效地集成和操作精锐E。 总体而言,"精锐E开发指南"是开发者掌握和利用精锐E专业版进行软件开发的重要参考资料,提供了全面的技术指导和法律框架,确保用户在合法合规的前提下充分利用该工具。
资源详情
资源推荐
精 锐 E 内部系统函数参考
9
9
9
9
UCHAR iv[8]={0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};
char plaintext[24] ="This is some test data.";
UCHAR ciphertext[24] ="";
UCHAR buff[24] ="";
UCHAR deskey[16] = {0x23,0x5a,0xb8,0x91,0xfc,0xe2,0x6c,0x9a,
0x3a,0x98,0x34,0x8e,0x1d,0xaa,0x97,0xe1};
void main()
{
USHORT usRet;
memcpy(buff, plaintext, 24);
/* des Encrypt … */
usRet = _des_cbc(deskey,buff,ciphertext,24,
iv,
DES_CRYPT_ENC);
if (usRet != SES_SUCCESS)
_exit(usRet);
/* des Decrypt … */
usRet = _des_cbc(deskey,ciphertext,buff,24,iv , DES_CRYPT_DEC);
if (usRet != SES_SUCCESS)
_exit(usRet);
/* tdes Encrypt … */
usRet=_des_cbc(deskey,buff,ciphertext,24,iv,DES_CRYPT_ENC|DES_ALGO_TRIPLE);
if (usRet != SES_SUCCESS)
_exit(usRet);
/* tdes Decrypt … */
usRet=_des_cbc(deskey,ciphertext,buff,24,iv,DES_CRYPT_DEC|DES_ALGO_TRIPLE);
if (usRet != SES_SUCCESS)
_exit(usRet);
/* Now the content of buff should be the same as
plaintext. */
_set_output(buff, 24);
_exit(usRet);
}
精 锐 E 内部系统函数参考
10
10
10
10
1.4.3
1.4.3
1.4.3
1.4.3 _des_mac
_des_mac
_des_mac
_des_mac
功能: DES/TDES 计算消息鉴别码。
声明: USHORT _des_mac(
UCHAR *pucKey,
UCHAR *pucIn,
UCHAR *pucOut,
USHORT usLen,
UCHAR *pucIV,
UCHAR ucFlag);
参数: pucKey [in] 8/16 字节 DES/TDES 密钥。
pucIn [in] 待加密数据(明文 ) 。
pucOut [out] 结果的密文数据。
usLen [in] 要加密的数据长度, 0~247 。
pucIV [in] 初始化向量
ucFlag [in] 运算标志(单重 / 三重 ) 。
�
DES_ALGO_SINGLE 单重
� DES_ALGO_TRIPLE 三重
返回值: 如果函数调用成功,返回 SES_SUCCESS ,否则返回错误代码。
备注: 对任一长度的消息通过由密钥 pucKey 参与运算产生固定长度的值,这个值就是
消息鉴别码,就好像是明文数据的唯一 “ 指纹 ” 。这个过程是不可逆的,即不可
能通过消息鉴别码算出明文数据 , 而且消息鉴别码还与密钥相关 , 即只有拥有相同
密钥的人才能鉴别这个明文数据。
_des_mac 对输入明文压缩产生 8 字节长度的消息鉴别码。
范例:
#include "eleses.h"
#include "string.h"
UCHAR iv[8]={0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};
精 锐 E 内部系统函数参考
11
11
11
11
char plaintext[24] ="This is some test data.";
UCHAR ciphertext[24] ="";
UCHAR buff[16] ="";
UCHAR deskey[16] = {0x23,0x5a,0xb8,0x91,0xfc,0xe2,0x6c,0x9a,
0x3a,0x98,0x34,0x8e,0x1d,0xaa,0x97,0xe1};
void main()
{
USHORT usRet;
memcpy(ciphertext, plaintext, 24);
/* des mac … */
usRet=_des_mac(deskey, ciphertext,buff,24,iv, DES_ALGO_SINGLE);
if (usRet != SES_SUCCESS)
_exit(usRet);
/* tdes mac … */
usRet=_des_mac(deskey,ciphertext,buff+8,24,iv,DES_ALGO_TRIPLE);
if (usRet != SES_SUCCESS)
_exit(usRet);
_set_output(buff, 16);
_exit(usRet);
}
精 锐 E 内部系统函数参考
12
12
12
12
1.4.4
1.4.4
1.4.4
1.4.4 _hash_init
_hash_init
_hash_init
_hash_init
功能: SHA1/MD5 初始化。 SHA1/MD5 的实现由一组函数完成,详情参考备注。
声明: USHORT _hash_init( HASH_CONTEXT * pCtx, UCHAR ucAlgo);
参数: pCtx [in] HASH 上下文。
ucAlgo [in] 算法标识( sha1/md5 ) 。
� HASH_ALGO_SHA1 sha1
�
HASH_ALGO_MD5 md5
返回值: 如果函数调用成功,返回 SES_SUCCESS ,否则返回错误代码。
备注: 该函数对 HASH 上下文进行初始化。
一个典型的 HASH 过程包括:
�
初始化,调用 _hash_init();
� 加入数据,可将数据分多次加入,即多次调用 _hash_update() ;
� 取 HASH 结果,调用 _hash_final() ;
HASH_CONTEXT 结构体:
typedef struct __HASH_CONTEXT
{
UCHAR ucAlgorithm;
DIGIST_CONTEXT DgtCtx[1];
}HASH_CONTEXT;
DIGIST_CONTEXT 结构体:
typedef struct __DIGIST_CONTEXT
{
ULONG aulState[5]; //store the result of each block calculate
ULONG aulCount[2]; // store the bit length of the data
UCHAR aucBuffer[64];//storetheremainder data of the last block
}DIGIST_CONTEXT;
范例: 参考 _hash_final() 函数的范例。
精 锐 E 内部系统函数参考
13
13
13
13
1.4.5
1.4.5
1.4.5
1.4.5 _hash_update
_hash_update
_hash_update
_hash_update
功能: SHA1/MD5 数据加入。 SHA1/MD5 的实现由一组函数完成,详情参考 _hash_init() 函
数说明的备注。
声明: USHORT _hash_update(
HASH_CONTEXT * pCtx,
UCHAR *pucData,
USHORT usLen);
参数: pCtx [in] HASH 上下文。
pucData [in] 本次要加入的数据。
usLen [in] 本次加入的数据长度。
返回值: 如果函数调用成功,返回 SES_SUCCESS ,否则返回错误代码。
备注: 该函数加入需要 HASH 的数据,可以将一个很大的数据分成很多块多次加入。
范例: 参考 _hash_final() 函数的范例。
剩余144页未读,继续阅读
tiexuekuangren
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功