1
0
Fork 0

Merging upstream version 1.24~pre1.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-21 11:32:21 +01:00
parent 3d0e2f8943
commit 3b655f02bb
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
37 changed files with 1495 additions and 1214 deletions

20
md5.h
View file

@ -1,6 +1,6 @@
/* Functions to compute MD5 message digest of memory blocks according to the
definition of MD5 in RFC 1321 from April 1992.
Copyright (C) 2020-2022 Antonio Diaz Diaz.
Copyright (C) 2020-2023 Antonio Diaz Diaz.
This library is free software. Redistribution and use in source and
binary forms, with or without modification, are permitted provided
@ -18,6 +18,18 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
struct md5_type
{
uint8_t data[16]; // 128-bit md5 digest
bool operator==( const md5_type & d ) const
{ return ( std::memcmp( data, d.data, 16 ) == 0 ); }
bool operator!=( const md5_type & d ) const { return !( *this == d ); }
// const uint8_t & operator[]( const int i ) const { return data[i]; }
uint8_t & operator[]( const int i ) { return data[i]; }
};
class MD5SUM
{
uint64_t count; // data length in bytes, modulo 2^64
@ -39,11 +51,11 @@ public:
}
void md5_update( const uint8_t * const buffer, const unsigned long len );
void md5_finish( uint8_t digest[16] );
void md5_finish( md5_type & digest );
};
void compute_md5( const uint8_t * const buffer, const unsigned long len,
uint8_t digest[16] );
md5_type & digest );
bool check_md5( const uint8_t * const buffer, const unsigned long len,
const uint8_t digest[16] );
const md5_type & digest );