des.h
来自「C写的DES、TRIP DES 及CPU卡中常用的报文摘要提取及校验算法」· C头文件 代码 · 共 43 行
H
43 行
extern int DES(unsigned char *bufferin,unsigned char *bufferout, unsigned char *key,long mode);
/*******************************************************************************************
功能:对8字节数据进行Des加密。
参数:*bufferin为所要加密的数据缓冲区基址。bufferout为已加密的数据缓冲区基址。
key为8字节密码。
mode=1则对报文进行加密,mode=0则对报文进行解密。
*/////////////////////////////////////////////////
//TripDes计算
extern void TripDes(unsigned char *bufferin, unsigned char *bufferout,
unsigned char *inkey, long mode);
/*******************************************************************************************
功能:对8字节数据进行TripDes加密。
参数:*bufferin为所要加密的数据缓冲区基址。bufferout为已加密的数据缓冲区基址。
inkey为16字节密码。
mode=1则对报文进行加密,mode=0则对报文进行解密。
*/////////////////////////////////////////////////
//返回输出报文字节数。
extern int TripDes1Str(unsigned char *IOtxt, unsigned char len, unsigned char *inkey, long mode);
/*******************************************************************************************
功能:对报文进行TripDes进行加解密,算法严格按照SmartCOS V3.5的标准执行。
参数:IOtxt为报文缓冲区基址。该缓冲区即作为存放原始报文的输入缓冲区,也作为加密后的输出报文的缓冲区,
在加密时,缓冲区长度必须大于输入报文长度+16字节;Len为输入报文长度;inkey为16字节密码。
mode=1则对报文进行加密,mode=0则对报文进行解密。
返回:解密时返回报文长度
*///////////////////////////////////////////////////////////////////////////////////////////
//功能:计算报文MAC码
// 返回MAC码存在IniStr的前4字节
//IniStr为4字节随机数+4字节0。
extern void GetTripMac(unsigned char *IniStr, unsigned char *IOtxt,
unsigned char len, unsigned char *inkey);
/*******************************************************************************************
功能:计算报文MAC码,算法严格按照SmartCOS V3.5的标准执行。
参数:IniStr为4字节随机数+4字节0作为初始序列;IOtxt为报文缓冲区基址,缓冲区长度必须大于输入报文长度+16字节。
Len为报文长度;inkey为16字节密码。
返回:返回MAC码存在IniStr的前4字节
*/////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?