⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 列表4.3.txt

📁 klinux书籍的配套光盘。可以学习学习。
💻 TXT
字号:
【列表4.3】 blowfish.h和blowfish.doc 库文件的C文件头。
#ifndef HEADER_BLOWFISH_H
#define HEADER_BLOWFISH_H

#ifdef  __cplusplus
extern "C" {
#endif
#define BF_ENCRYPT  1
#define BF_DECRYPT  0
/* If you make this 'unsigned int' the pointer variants will work on
  * the Alpha, otherwise they will not. Strangely using the '8 byte'
  * BF_LONG and the default 'non-pointer' inner loop is the best
  * configurationfor the Alpha */
#define BF_LONG unsigned long
#define BF_ROUNDS   16
#define BF_BLOCK    8
typedef struct bf_key_st
      {
      BF_LONG P[BF_ROUNDS+2];
      BF_LONG S[4*256];
      } BF_KEY;

#ifndef NOPROTO

void BF_set_key(BF_KEY *key, int len,unsigned char *data);
void BF_ecb_encrypt(unsigned char *in,unsigned char *out, BF_KEY *key,
      int eric);
void BF_encrypt(BF_LONG *data, BF_KEY *key);
void BF_decrypt(BF_LONG *data,BF_KEY *key);
void BF_cbc_encrypt(unsigned char *in,unsigned char *out, long length,
      BF_KEY *ks,unsigned char *iv, int enc);
void BF_cfb64_encrypt(unsigned char *in, unsigned char *out, long length,
      BF_KEY *schedule, unsigned char *ivec, int *num, int enc);
void BF_ofb64_encrypt(unsigned char *in, unsigned char *out, long length,
      BF_KEY *schedule, unsigned char *ivec, int *num);
char *BF_options(void);
#else
void BF_set_key();
void BF_ecb_encrypt();
void BF_encrypt();
void BF_decrypt();
void BF_cbc_encrypt();
void BF_cfb64_encrypt();
void BF_ofb64_encrypt();
char *BF_options();
#endif
#ifdef  _cplusplus
}
#endif
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -