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

📄 qfdes.h

📁 网络MPEG4IP流媒体开发源代码
💻 H
字号:
/*****************************************************************************Saleem N. BhattiFebruary 1993*****************************************************************************/#if !defined(_qfDES_h_)#define      _qfDES_h_#if defined(__cplusplus)extern "C" {#endif/* what */typedef enum {qfDES_encrypt, qfDES_decrypt} QFDES_what;/* mode */typedef enum {qfDES_ecb, qfDES_cbc, qfDES_cfb, qfDES_ofb} QFDES_mode;/* parity */typedef enum {qfDES_even, qfDES_odd} QFDES_parity;/* key/IV generation */typedef enum {qfDES_key, qfDES_iv} QFDES_generate;/* This does it all */int qfDES (unsigned char *key, unsigned char *data, unsigned int size, const QFDES_what what, const QFDES_mode mode, unsigned char *initVec);/* Handy macros */#define qfDES_ECB_e(_key, _data, _size) qfDES(_key, _data, _size, qfDES_encrypt, qfDES_ecb, (unsigned char *) 0)#define qfDES_ECB_d(_key, _data, _size) qfDES(_key, _data, _size, qfDES_decrypt, qfDES_ecb, (unsigned char *) 0)#define qfDES_CBC_e(_key, _data, _size, _initVec) qfDES(_key, _data, _size, qfDES_encrypt, qfDES_cbc, _initVec)#define qfDES_CBC_d(_key, _data, _size, _initVec) qfDES(_key, _data, _size, qfDES_decrypt, qfDES_cbc, _initVec)#define qfDES_CFB_e(_key, _data, _size, _initVec) qfDES(_key, _data, _size, qfDES_encrypt, qfDES_cfb, _initVec)#define qfDES_CFB_d(_key, _data, _size, _initVec) qfDES(_key, _data, _size, qfDES_decrypt, qfDES_cfb, _initVec)#define qfDES_OFB_e(_key, _data, _size, _initVec) qfDES(_key, _data, _size, qfDES_encrypt, qfDES_ofb, _initVec)#define qfDES_OFB_d(_key, _data, _size, _initVec) qfDES(_key, _data, _size, qfDES_decrypt, qfDES_ofb, _initVec)/* Padded [m|re]alloc() */unsigned char    qfDES_setPad (unsigned char pad);#define qfDES_padSpace() qfDES_setPad((unsigned char) ' ')#define qfDES_padZero() qfDES_setPad((unsigned char) '\0')/* The size of text in a qfDES_malloc()ed block */#define qfDES_plainTextSize(_ptr, _size) (unsigned int) ((_size) - (unsigned int) (_ptr)[(_size) - 1])/* Keys */void qfDES_setParity (unsigned char *ptr, unsigned int size, const QFDES_parity parity);unsigned int qfDES_checkParity (unsigned char *ptr, unsigned int size, const QFDES_parity parity);unsigned char *qfDES_generate (const QFDES_generate what); /* returns a pointer to static memory */#define qfDES_generateKey() qfDES_generate(qfDES_key)#define qfDES_generateIV() qfDES_generate(qfDES_iv)int qfDES_checkWeakKeys (unsigned char *key);#if defined(__cplusplus)}#endif#endif /* !_qfDES_h_ */

⌨️ 快捷键说明

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