📄 sha4.h
字号:
/** * file sha4.h */#ifndef _SHA4_H#define _SHA4_H#if defined(_MSC_VER) || defined(__WATCOMC__) #define UL64(x) x##ui64 #define int64 __int64#else #define UL64(x) x##ULL #define int64 long long#endif/** * brief SHA-512 context structure */typedef struct{ unsigned int64 total[2]; /*!< number of bytes processed */ unsigned int64 state[8]; /*!< intermediate digest state */ unsigned char buffer[128]; /*!< data block being processed */ unsigned char ipad[128]; /*!< HMAC: inner padding */ unsigned char opad[128]; /*!< HMAC: outer padding */ int is384; /*!< 0 => SHA-512, else SHA-384 */}sha4_context;#ifdef __cplusplusextern "C" {#endif /** * brief SHA-512 context setup * param ctx context to be initialized * param is384 0 = use SHA512, 1 = use SHA384 */ void sha4_starts( sha4_context *ctx, int is384 ); /** * brief SHA-512 process buffer * param ctx SHA-512 context * param input buffer holding the data * param ilen length of the input data */ void sha4_update( sha4_context *ctx, unsigned char *input, int ilen ); /** * brief SHA-512 final digest * param ctx SHA-512 context * param output SHA-384/512 checksum result */ void sha4_finish( sha4_context *ctx, unsigned char output[64] );#ifdef __cplusplus}#endif#endif /* sha4.h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -