MCPcopy Create free account
hub / github.com/TASEmulators/fceux / md5_finish

Function md5_finish

src/utils/md5.cpp:209–227  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

207};
208
209void md5_finish( struct md5_context *ctx, uint8 digest[16] )
210{
211 uint32 last, padn;
212 uint8 msglen[8];
213
214 PUT_UINT32( ctx->total[0], msglen, 0 );
215 PUT_UINT32( ctx->total[1], msglen, 4 );
216
217 last = ( ctx->total[0] >> 3 ) & 0x3F;
218 padn = ( last < 56 ) ? ( 56 - last ) : ( 120 - last );
219
220 md5_update( ctx, md5_padding, padn );
221 md5_update( ctx, msglen, 8 );
222
223 PUT_UINT32( ctx->state[0], digest, 0 );
224 PUT_UINT32( ctx->state[1], digest, 4 );
225 PUT_UINT32( ctx->state[2], digest, 8 );
226 PUT_UINT32( ctx->state[3], digest, 12 );
227}
228
229
230/* Uses a static buffer, so beware of how it's used. */

Callers 7

SubLoadFunction · 0.50
UNIFLoadFunction · 0.50
iNESLoadFunction · 0.50
FCEUD_NetworkConnectFunction · 0.50
FCEUD_NetworkConnectFunction · 0.50
FCEUD_NetworkConnectFunction · 0.50
FCEUD_NetworkConnectFunction · 0.50

Calls 1

md5_updateFunction · 0.70

Tested by

no test coverage detected