1*f6dc9357SAndroid Build Coastguard Worker /* Md5.h -- MD5 Hash 2*f6dc9357SAndroid Build Coastguard Worker : Igor Pavlov : Public domain */ 3*f6dc9357SAndroid Build Coastguard Worker 4*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_MD5_H 5*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_MD5_H 6*f6dc9357SAndroid Build Coastguard Worker 7*f6dc9357SAndroid Build Coastguard Worker #include "7zTypes.h" 8*f6dc9357SAndroid Build Coastguard Worker 9*f6dc9357SAndroid Build Coastguard Worker EXTERN_C_BEGIN 10*f6dc9357SAndroid Build Coastguard Worker 11*f6dc9357SAndroid Build Coastguard Worker #define MD5_NUM_BLOCK_WORDS 16 12*f6dc9357SAndroid Build Coastguard Worker #define MD5_NUM_DIGEST_WORDS 4 13*f6dc9357SAndroid Build Coastguard Worker 14*f6dc9357SAndroid Build Coastguard Worker #define MD5_BLOCK_SIZE (MD5_NUM_BLOCK_WORDS * 4) 15*f6dc9357SAndroid Build Coastguard Worker #define MD5_DIGEST_SIZE (MD5_NUM_DIGEST_WORDS * 4) 16*f6dc9357SAndroid Build Coastguard Worker 17*f6dc9357SAndroid Build Coastguard Worker typedef struct 18*f6dc9357SAndroid Build Coastguard Worker { 19*f6dc9357SAndroid Build Coastguard Worker UInt64 count; 20*f6dc9357SAndroid Build Coastguard Worker UInt64 _pad_1; 21*f6dc9357SAndroid Build Coastguard Worker // we want 16-bytes alignment here 22*f6dc9357SAndroid Build Coastguard Worker UInt32 state[MD5_NUM_DIGEST_WORDS]; 23*f6dc9357SAndroid Build Coastguard Worker UInt64 _pad_2[4]; 24*f6dc9357SAndroid Build Coastguard Worker // we want 64-bytes alignment here 25*f6dc9357SAndroid Build Coastguard Worker Byte buffer[MD5_BLOCK_SIZE]; 26*f6dc9357SAndroid Build Coastguard Worker } CMd5; 27*f6dc9357SAndroid Build Coastguard Worker 28*f6dc9357SAndroid Build Coastguard Worker void Md5_Init(CMd5 *p); 29*f6dc9357SAndroid Build Coastguard Worker void Md5_Update(CMd5 *p, const Byte *data, size_t size); 30*f6dc9357SAndroid Build Coastguard Worker void Md5_Final(CMd5 *p, Byte *digest); 31*f6dc9357SAndroid Build Coastguard Worker 32*f6dc9357SAndroid Build Coastguard Worker EXTERN_C_END 33*f6dc9357SAndroid Build Coastguard Worker 34*f6dc9357SAndroid Build Coastguard Worker #endif 35