mirror of
https://github.com/ip7z/7zip.git
synced 2025-12-06 07:12:00 +01:00
35 lines
673 B
C
35 lines
673 B
C
/* Md5.h -- MD5 Hash
|
|
: Igor Pavlov : Public domain */
|
|
|
|
#ifndef ZIP7_INC_MD5_H
|
|
#define ZIP7_INC_MD5_H
|
|
|
|
#include "7zTypes.h"
|
|
|
|
EXTERN_C_BEGIN
|
|
|
|
#define MD5_NUM_BLOCK_WORDS 16
|
|
#define MD5_NUM_DIGEST_WORDS 4
|
|
|
|
#define MD5_BLOCK_SIZE (MD5_NUM_BLOCK_WORDS * 4)
|
|
#define MD5_DIGEST_SIZE (MD5_NUM_DIGEST_WORDS * 4)
|
|
|
|
typedef struct
|
|
{
|
|
UInt64 count;
|
|
UInt64 _pad_1;
|
|
// we want 16-bytes alignment here
|
|
UInt32 state[MD5_NUM_DIGEST_WORDS];
|
|
UInt64 _pad_2[4];
|
|
// we want 64-bytes alignment here
|
|
Byte buffer[MD5_BLOCK_SIZE];
|
|
} CMd5;
|
|
|
|
void Md5_Init(CMd5 *p);
|
|
void Md5_Update(CMd5 *p, const Byte *data, size_t size);
|
|
void Md5_Final(CMd5 *p, Byte *digest);
|
|
|
|
EXTERN_C_END
|
|
|
|
#endif
|