buffer[2] = 0x98badcfe;
buffer[3] = 0x10325476;
processed_bytes = 0;
- unprocessed_bytes = 0;
if(!sin_table[0])
for(unsigned i=0; i<64; ++i)
sin_table[i] = 4294967296.0*abs(sin((i+1)*1.0));
}
-void MD5::update(const char *data, unsigned len)
-{
- if(unprocessed_bytes && unprocessed_bytes+len>=64)
- {
- unsigned needed = 64-unprocessed_bytes;
- copy(data, data+needed, unprocessed+unprocessed_bytes);
- process_block(unprocessed);
- data += needed;
- len -= needed;
- unprocessed_bytes = 0;
- }
-
- while(len>=64)
- {
- process_block(data);
- data += 64;
- len -= 64;
- }
-
- if(len>0)
- {
- copy(data, data+len, unprocessed+unprocessed_bytes);
- unprocessed_bytes += len;
- }
-}
-
unsigned MD5::get_digest(char *digest, unsigned len) const
{
if(len<16)