MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / md5_finish

Function md5_finish

Source/Utils/md5.cpp:229–252  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

227};
228
229void md5_finish( md5_context *ctx, uint8 digest[16] )
230{
231 uint32 last, padn;
232 uint32 high, low;
233 uint8 msglen[8];
234
235 high = (ctx->total[0] >> 29)
236 | (ctx->total[1] << 3);
237 low = (ctx->total[0] << 3);
238
239 PUT_UINT32( low, msglen, 0 );
240 PUT_UINT32( high, msglen, 4 );
241
242 last = ctx->total[0] & 0x3F;
243 padn = (last < 56) ? (56 - last) : (120 - last);
244
245 md5_update( ctx, md5_padding, padn );
246 md5_update( ctx, msglen, 8 );
247
248 PUT_UINT32( ctx->state[0], digest, 0 );
249 PUT_UINT32( ctx->state[1], digest, 4 );
250 PUT_UINT32( ctx->state[2], digest, 8 );
251 PUT_UINT32( ctx->state[3], digest, 12 );
252}

Callers 1

FileMD5Method · 0.85

Calls 1

md5_updateFunction · 0.85

Tested by

no test coverage detected