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

📄 mycrypt_hash.h

📁 最新版本的加密解密算法库
💻 H
📖 第 1 页 / 共 2 页
字号:
/* ---- HASH FUNCTIONS ---- */#ifdef SHA512struct sha512_state {    ulong64  length, state[8];    unsigned long curlen;    unsigned char buf[128];};#endif#ifdef SHA256struct sha256_state {    ulong64 length;    ulong32 state[8], curlen;    unsigned char buf[64];};#endif#ifdef SHA1struct sha1_state {    ulong64 length;    ulong32 state[5], curlen;    unsigned char buf[64];};#endif#ifdef MD5struct md5_state {    ulong64 length;    ulong32 state[4], curlen;    unsigned char buf[64];};#endif#ifdef MD4struct md4_state {    ulong64 length;    ulong32 state[4], curlen;    unsigned char buf[64];};#endif#ifdef TIGERstruct tiger_state {    ulong64 state[3], length;    unsigned long curlen;    unsigned char buf[64];};#endif#ifdef MD2struct md2_state {    unsigned char chksum[16], X[48], buf[16];    unsigned long curlen;};#endif#ifdef RIPEMD128struct rmd128_state {    ulong64 length;    unsigned char buf[64];    ulong32 curlen, state[4];};#endif#ifdef RIPEMD160struct rmd160_state {    ulong64 length;    unsigned char buf[64];    ulong32 curlen, state[5];};#endif#ifdef WHIRLPOOLstruct whirlpool_state {    ulong64 length, state[8];    unsigned char buf[64];    ulong32 curlen;};#endiftypedef union Hash_state {#ifdef WHIRLPOOL    struct whirlpool_state whirlpool;#endif#ifdef SHA512    struct sha512_state sha512;#endif#ifdef SHA256    struct sha256_state sha256;#endif#ifdef SHA1    struct sha1_state   sha1;#endif#ifdef MD5    struct md5_state    md5;#endif#ifdef MD4    struct md4_state    md4;#endif#ifdef MD2    struct md2_state    md2;#endif#ifdef TIGER    struct tiger_state  tiger;#endif#ifdef RIPEMD128    struct rmd128_state rmd128;#endif#ifdef RIPEMD160    struct rmd160_state rmd160;#endif} hash_state;extern struct _hash_descriptor {    char *name;    unsigned char ID;    unsigned long hashsize;       /* digest output size in bytes  */    unsigned long blocksize;      /* the block size the hash uses */    unsigned char DER[64];        /* DER encoded identifier */    unsigned long DERlen;         /* length of DER encoding */    void (*init)(hash_state *);    int (*process)(hash_state *, const unsigned char *, unsigned long);    int (*done)(hash_state *, unsigned char *);    int  (*test)(void);} hash_descriptor[];#ifdef WHIRLPOOLextern void whirlpool_init(hash_state * md);extern int whirlpool_process(hash_state * md, const unsigned char *buf, unsigned long len);extern int whirlpool_done(hash_state * md, unsigned char *hash);extern int  whirlpool_test(void);extern const struct _hash_descriptor whirlpool_desc;#endif#ifdef SHA512extern void sha512_init(hash_state * md);extern int sha512_process(hash_state * md, const unsigned char *buf, unsigned long len);extern int sha512_done(hash_state * md, unsigned char *hash);extern int  sha512_test(void);extern const struct _hash_descriptor sha512_desc;#endif#ifdef SHA384#ifndef SHA512   #error SHA512 is required for SHA384#endifextern void sha384_init(hash_state * md);#define sha384_process sha512_processextern int sha384_done(hash_state * md, unsigned char *hash);extern int  sha384_test(void);extern const struct _hash_descriptor sha384_desc;#endif#ifdef SHA256extern void sha256_init(hash_state * md);extern int sha256_process(hash_state * md, const unsigned char *buf, unsigned long len);extern int sha256_done(hash_state * md, unsigned char *hash);extern int  sha256_test(void);extern const struct _hash_descriptor sha256_desc;#ifdef SHA224#ifndef SHA256   #error SHA256 is required for SHA224#endifextern void sha224_init(hash_state * md);#define sha224_process sha256_processextern int sha224_done(hash_state * md, unsigned char *hash);extern int  sha224_test(void);extern const struct _hash_descriptor sha224_desc;#endif#endif#ifdef SHA1extern void sha1_init(hash_state * md);extern int sha1_process(hash_state * md, const unsigned char *buf, unsigned long len);extern int sha1_done(hash_state * md, unsigned char *hash);extern int  sha1_test(void);extern const struct _hash_descriptor sha1_desc;#endif#ifdef MD5extern void md5_init(hash_state * md);extern int md5_process(hash_state * md, const unsigned char *buf, unsigned long len);extern int md5_done(hash_state * md, unsigned char *hash);extern int  md5_test(void);extern const struct _hash_descriptor md5_desc;#endif#ifdef MD4extern void md4_init(hash_state * md);extern int md4_process(hash_state * md, const unsigned char *buf, unsigned long len);extern int md4_done(hash_state * md, unsigned char *hash);extern int  md4_test(void);extern const struct _hash_descriptor md4_desc;#endif#ifdef MD2extern void md2_init(hash_state * md);extern int md2_process(hash_state * md, const unsigned char *buf, unsigned long len);extern int md2_done(hash_state * md, unsigned char *hash);extern int  md2_test(void);extern const struct _hash_descriptor md2_desc;#endif#ifdef TIGERextern void tiger_init(hash_state * md);extern int tiger_process(hash_state * md, const unsigned char *buf, unsigned long len);extern int tiger_done(hash_state * md, unsigned char *hash);extern int  tiger_test(void);extern const struct _hash_descriptor tiger_desc;#endif#ifdef RIPEMD128extern void rmd128_init(hash_state * md);extern int rmd128_process(hash_state * md, const unsigned char *buf, unsigned long len);extern int rmd128_done(hash_state * md, unsigned char *hash);extern int  rmd128_test(void);extern const struct _hash_descriptor rmd128_desc;#endif#ifdef RIPEMD160extern void rmd160_init(hash_state * md);extern int rmd160_process(hash_state * md, const unsigned char *buf, unsigned long len);extern int rmd160_done(hash_state * md, unsigned char *hash);

⌨️ 快捷键说明

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