软件防盗版软件商城
系统介绍 | 防盗版要求 | 防盗版流程 | 编程接口 | 产品商加盟 | 资源下载
最新动态:
网刃首页
产生背景
系统目的
功能特点
软件发布流程
软件开通流程
授权许可协议
联系我们
常见问题解答
      产品商推荐
 ·职称英语学习帮手(盛名软
 ·文档在线服务中心
 ·北京理财咨询有限公司
 ·北京中财无忧会计网络科技
 ·大连天维软件产业有限公司
 ·江苏永信财务软件公司
 ·全国计算机等级考试练习系
 ·幻影2007
 ·北京思创银联科技有限公司
      热点软件
 ·全国计算机等级考试练习系
 ·动力先锋企业网站管理系统
 ·证券从业人员职业资格考试
 ·芙蓉网络电视2006【终
 ·演示视频
 ·一级建造师执业资格考试2
 ·磁盘加密
 ·Izzh无纸化办公系统(
 ·XRCAD
 ·全国计算机等级考试练习系
 ·傲慢与偏见小说
 ·XRPDM
 ·3TV宽带卫星网络电视机
 ·全国计算机等级考试练习系
 ·全国计算机等级考试练习系
 ·全国计算机等级考试练习系
 ·全国计算机等级考试练习系
 ·报关员资格全国统一考试应
 010-62169192
 010-62161727
常见问题 投诉建议
疑问解答 网刃平台
 
防盗版接口 | 与加密接口 | 与远程控制接口 | 与短信息接口

与加密接口

功能:提供多种加密算法,用户可以调用这些加密算法进行自己数据保护

头文件为multicode.h
multicode.lib静态函数库文件
multicode.dll动态函数库文件
multicode.txt文件长度及MD5数据保存文件
函数调用演示代码工程包见MultiCoderDemo.zip

/////////////////////////////////////////////////////////////
//文件名:MultiCoder.h
//功能 :高效、可靠加/解密算法库函数定义、说明文件
// 提供的算法有:BASE64算法、增强MD5算法、DES算法、3DES算法、RSA算法。
//公司 :北京慧峰诚信科技有限公司
//网址 :http://www.wisepeak.com
// http://www.netblade.cn
//日期 :2005-06-13
/////////////////////////////////////////////////////////////

#ifndef __MULTICODER_H__
#define __MULTICODER_H__

#define EN0 0 /* 加密标记 */
#define DE1 1 /* 解密标记 */

/* ----------------BASE64算法 
* BASE64是一种编码方法,它只用ASCII码中的65个字符(包括[A-Za-z0-9+/]这64个字符和用作填充用的'='字符),
* 将3字节(8bits * 3 = 24bits)的字节流变换为4字节(6bits * 4 = 24bits)的可显示字符串。
* RFC2045文件对其做出了详细的规定。
*/
/////////////////////////////////////////////////////////////
//函数名:DoBASE64
//功能 :对输入字节流进行BASE64编/解码
//参数 :idata 字符指针型,输入,需要进行BASE64编码的数据缓冲区
// idatalen 整型,输入,idata数据缓冲区长度
// :odata 字符指针型,输出,用于保存编码后数据的缓冲区
// odatalen 整型,输入,odata数据缓冲区长度
// type,整型,输入,=EN0表示加密,=DE1表示解密
//返回值:编码后数据长度
//注意 :加密参数要求:odatalen >= (idatalen * 4 / 3)。
// :解密参数要求:odatalen >= (idatalen * 3 / 4);idatalen必须为4的整数倍。
/////////////////////////////////////////////////////////////
extern "C" __declspec(dllexport) int DoBASE64(char *idata, int idatalen, char *odata, int odatalen,int type);

/* ----------------增强MD5算法。
* 基本MD5算法对输入的明文进行摘要提取,得到一组与明文具有相关特性的、固定长度的摘要数据(字节流序列)。
* 算法具有单向性,即可以从明文获取到摘要,但不能通过摘要获取到明文。
* 增强MD5算法是在基本MD5算法基础上加上密码控制,即得到的摘要是受密码控制的。
*/
/////////////////////////////////////////////////////////////
//函数名:MD5_Ex
//功能 :增强MD5算法,如果key为空,则为基本MD5算法
//参数 :data 字符指针型,输入,需要进行MD5处理的数据缓冲区
// datalen 整型,输入,data数据缓冲区长度
// key 字符指针型,输入,密码数据缓冲区
// keylen 整型,输入,密码数据缓冲区长度
// digest 字符指针型,输出,16字节长摘要数据缓冲区
//返回值:无
/////////////////////////////////////////////////////////////
extern "C" __declspec(dllexport) void MD5_Ex(char *data, int datalen, char *key, int keylen, char *digest);

/* ----------------DES、3DES算法 
* DES:数字加密算法,使用8字节密钥进行数据加/解密;
* 3DES:数字加密算法,使用16字节密钥进行数据加/解密,要进行3次DES加/解密;
*/
/////////////////////////////////////////////////////////////
//函数名: DoDES
//功能 : 对数据进行DES加密/解密,明文数据与加密后密文数据长度相同
//参数 : data 字符指针型,输入/输出,存放明文数据和编码后密文数据的缓冲区。
// 有效长度应为8字节的整数倍,不足8字节,要填充至8字节整数倍长度。
// datalen 整型,输入,数据缓冲区长度,为8的整数倍。
// key 字符指针型,输入,密钥数据缓冲区,固定8字节,不足8字节要填充(0或者空格)。
// type 整型,输入加密/解密类型,=EN0表示加密,=DE1表示解密。
//返回值: 无
/////////////////////////////////////////////////////////////
extern "C" __declspec(dllexport) void DoDES(char *data,int datalen,char *key,int type);

/////////////////////////////////////////////////////////////
//函数名: Do3DES
//功能 : 对数据进行3DES加密/解密,明文数据与加密后密文数据长度相同
//参数 : data 字符指针型,输入/输出,存放明文数据和编码后密文数据的缓冲区。
// 有效长度应为8字节的整数倍,不足8字节,要填充至8字节整数倍长度。
// datalen 整型,输入,数据缓冲区长度,为8的整数倍。
// key 字符指针型,输入,密钥数据缓冲区,长度固定16字节,不足16字节要填充(0或者空格)。
// type 整型,输入加密/解密类型,=EN0表示加密,=DE1表示解密。
//返回值: 无
/////////////////////////////////////////////////////////////
extern "C" __declspec(dllexport) void Do3DES(char *data,int datalen,char *key,int type);

/* ----------------RSA算法 
* 非对称加密算法
*/
//非对称加密算法中允许十进制数值的最大位数
#define DATALENGTH 64
//为了对字节流进行加密,这里将每BYTEPERBLOCK个字节作为一个数值进行处理
#define BYTEPERBLOCK 4
//对字节流进行加密后,各BYTEPERBLOCK个字节加密后得到密文之间的分割字符(解密时以此划分出各块密文)
#define SPLITCHAR ' '
/////////////////////////////////////////////////////////////
//函数名:DoRSA
//功能 :对数据进行RSA加密/解密
// 加密--以BYTEPERBLOCK字节为单位进行,如果数据长度不为BYTEPERBLOCK整数倍则后面填充'\0'
// 需要进行加密的数据可以是任何形式表示的数据
// 解密--解密数据必须是数字字符串,不同块之间用SPLITCHAR字符隔开
// 注意:每块数字字符串长度不能超过DATALENGTH
//参数 :indatabuff 字符指针型,输入,需要加密/解密的数据缓冲区
// indatalen 整型,输入,需要加密/解密的数据缓冲区长度
// outdatabuff 字符指针型,输出,保存加密/解密完毕后的密文/明文数据缓冲区
// outdatalen 整型,输出,返回加密/解密后的密文/明文数据缓冲区长度
// key 字符指针型,输入,RSA密钥系统中密钥(数字字符串,长度<DATALENGTH)
// Nvalue 字符指针型,输入,RSA密钥系统中N值(数字字符串,长度<DATALENGTH)
// type 整型,输入,=EN0表时加密,=DE1表示解密
//返回值 :=0表示成功返回,=1表时密钥非法,=2表时N值错误,=3表示数值长度有误
/////////////////////////////////////////////////////////////
extern "C" __declspec(dllexport) int DoRSA(char *indatabuff,int indatalen,char *outdatabuff,int &outdatalen,char *key,char *Nvalue,int type);

#endif
防盗版接口 | 与加密接口 | 与远程控制接口 | 与短信息接口 
down
|
|
|
|
|
Copyright 2005-2011 版权所有 慧峰科技股份