?? des.h
字號:
///////////////////////////////////////////////////////////////
// 文 件 名 : des.h
// 文件功能 : DES/3DES加密/解密
// 作 者 : 黃雙全
// 創建時間 : 2006年9月2日
// 項目名稱 : DES加密算法
// 備 注 :
// 歷史記錄 :
///////////////////////////////////////////////////////////////
#ifndef _DES_H_
#define _DES_H_
#include "type_def.h"
//為了提高程序效率,把這兩個位操作功能定義在宏。
//讀取緩沖區的指定位.
#define GET_BIT(p_array, bit_index) \
((p_array[(bit_index) >> 3] >> (7 - ((bit_index) & 0x07))) & 0x01)
//設置緩沖區的指定位.
#define SET_BIT(p_array, bit_index, bit_val) \
if (1 == (bit_val)) \
{\
p_array[(bit_index) >> 3] |= 0x01 << (7 - ((bit_index) & 0x07));\
}\
else\
{\
p_array[(bit_index) >> 3] &= ~(0x01 << (7 - ((bit_index) & 0x07)));\
}
//加解密標識,這兩個標識涉及到對表的讀取位置,
//必須保證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 + -