DES演算法,標頭檔案 (轉)
DES演算法,頭
自己改寫過,請指教
#ifndef __DES_H
#define __DES_H
class DES
{
public:
// Encrypt/decrypt the data in "data", according to the "key".
// Caller is responsible for confing the buffer size of "data"
// points to is 8*"blocks" bytes.
// The data encrypted/decrypted is stored in data.
// The return code is 1:success, other:failed.
int encrypt ( char key[8], char* data, int blocks = 1 );
int decrypt ( char key[8], char* data, int blocks = 1 );
// Encrypt/decrypt any size data,according to a special method.
// Before calling yencrypt, copy data to a new buffer with size
// calculated by extend.
int yencrypt ( char key[8], char* data, int size );
int ydecrypt ( char key[8], char* in, int blocks, int* size = 0 );
int extend ( int size ) { return (size/8+1)*8; };
private:
void des(unsigned char* in, unsigned char* out, int blocks);
void des_block(unsigned char* in, unsigned char* out);
private:
unsigned long KnL[32];
enum Mode { ENCRYPT, DECRYPT };
void deskey(unsigned char key[8], Mode md);
void usekey(unsigned long *);
void cookey(unsigned long *);
private:
void scrunch(unsigned char *, unsigned long *);
void unscrun(unsigned long *, unsigned char *);
void deunc(unsigned long *, unsigned long *);
private:
static unsigned char Df_Key[24];
static unsigned short bytebit[8];
static unsigned long bigbyte[24];
static unsigned char pc1[56];
static unsigned char totrot[16];
static unsigned char pc2[48];
static unsigned long SP1[64];
static unsigned long SP2[64];
static unsigned long SP3[64];
static unsigned long SP4[64];
static unsigned long SP5[64];
static unsigned long SP6[64];
static unsigned long SP7[64];
static unsigned long SP8[64];
};
#endif
中華技術網整理釋出 http://www.asfocus.qu.com">
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988636/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DES演算法,CPP檔案 (轉)演算法
- 看標頭檔案猜演算法演算法
- 標頭檔案與庫檔案與菜鳥 (轉)
- 8.13 標頭檔案剖析:標頭檔案路徑(下)
- DES演算法 (轉)演算法
- C 標頭檔案
- C/C++標頭檔案一覽(轉)C++
- #include sys/xxx.h標頭檔案 UNIX標頭檔案
- locate標頭檔案和庫檔案
- C 標頭檔案 作用
- 祖傳標頭檔案
- C語言標頭檔案的使用(轉載)C語言
- 標頭檔案生成器-javah.exe(轉)Java
- 標頭檔案的作用分析
- fcntl.h標頭檔案
- linux 標頭檔案 作用Linux
- 什麼是 標頭檔案
- 使用Des,MD5 加密.解密.字串.檔案 (轉)加密解密字串
- 02@在類的標頭檔案中儘量少引入其他標頭檔案
- C/C++標頭檔案太難記?一個萬能標頭檔案全搞定!C++
- c++筆記_標頭檔案C++筆記
- Nt函式原型標頭檔案函式原型
- C語言 - 標頭檔案包含C語言
- 巨集_變數_函式_指標_標頭檔案變數函式指標
- EclipseCDT標準庫標頭檔案設定Eclipse
- POSIX.1 and ISO C標準標頭檔案
- C++標準庫標頭檔案介紹C++
- C/C++標頭檔案一覽C++
- linux下使用windows標頭檔案LinuxWindows
- 關於C++的標頭檔案C++
- 8.8 標頭檔案剖析:基本概念
- C++ 預編譯標頭檔案C++編譯
- 避免標頭檔案重複定義
- 關於傳送Http標頭檔案HTTP
- C/C++標頭檔案說明C++
- 轉儲日誌檔案頭
- 大型專案開發: 標頭檔案順序
- C++標準庫名字和標頭檔案--表C++