📄 des.h
字号:
///////////////////////////////////////////////////////////////
// 文 件 名 : des.h
// 文件功能 : DES/3DES加密/解密
// 作 者 : 黄双全
// 创建时间 : 2006年9月2日
// 项目名称 : DES加密算法
// 备 注 :
// 历史记录 :
///////////////////////////////////////////////////////////////
#ifndef _DES_H_
#define _DES_H_
#include "general.h"
//为了提高程序效率,把这两个位操作功能定义在宏。
//读取缓冲区的指定位.
#define GET_BIT(p_array, bit_index) ((p_array[(bit_index) >> 3] >> (7 - ((bit_index) & 0x07))) & 0x01)
//设置缓冲区的指定位.
void SET_BIT(uint8 *p_array, uint8 bit_index, uint8 bit_val);
//加解密标识,这两个标识涉及到对表的读取位置,
//必须保证DES_ENCRYPT = 0 DES_DECRYPT = 1
typedef enum
{
DES_ENCRYPT = 0,
DES_DECRYPT = 1
}DES_MODE;
///////////////////////////////////////////////////////////////
// 函 数 名 : des
// 函数功能 : DES加解密
// 处理过程 : 根据标准的DES加密算法用输入的64位密钥对64位密文进行加/解密
// 并将加/解密结果存储到p_output里
// 时 间 : 2006年9月2日
// 返 回 值 :
// 参数说明 : const char * p_data 输入, 加密时输入明文, 解密时输入密文, 64位(8字节)
// const char * p_key 输入, 密钥, 64位(8字节)
// char * p_output 输出, 加密时输出密文, 解密时输入明文, 64位(8字节)
// uint8 mode 0 加密 1 解密
///////////////////////////////////////////////////////////////
void des(const char * p_data, const char * p_key, const char * p_output, DES_MODE mode);
#endif //#ifndef _DES_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -