MCPcopy Create free account
hub / github.com/RsyncProject/rsync / md5_result

Function md5_result

lib/md5.c:202–225  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

200static const uchar md5_padding[CSUM_CHUNK] = { 0x80 };
201
202void md5_result(md_context *ctx, uchar digest[MD5_DIGEST_LEN])
203{
204 uint32 last, padn;
205 uint32 high, low;
206 uchar msglen[8];
207
208 high = (ctx->totalN >> 29)
209 | (ctx->totalN2 << 3);
210 low = (ctx->totalN << 3);
211
212 SIVALu(msglen, 0, low);
213 SIVALu(msglen, 4, high);
214
215 last = ctx->totalN & 0x3F;
216 padn = last < 56 ? 56 - last : 120 - last;
217
218 md5_update(ctx, md5_padding, padn);
219 md5_update(ctx, msglen, 8);
220
221 SIVALu(digest, 0, ctx->A);
222 SIVALu(digest, 4, ctx->B);
223 SIVALu(digest, 8, ctx->C);
224 SIVALu(digest, 12, ctx->D);
225}
226
227#ifdef TEST_MD5 /* { */
228

Callers 5

get_checksum2Function · 0.85
file_checksumFunction · 0.85
sum_endFunction · 0.85
get_md5Function · 0.85
mainFunction · 0.85

Calls 2

SIVALuFunction · 0.85
md5_updateFunction · 0.85

Tested by

no test coverage detected