MD5_BLOCK_LENGTH
u_int8_t buffer[MD5_BLOCK_LENGTH]; /* input buffer */
void MD5Transform(u_int32_t [4], const u_int8_t [MD5_BLOCK_LENGTH])
__attribute__((__bounded__(__minbytes__,2,MD5_BLOCK_LENGTH)));
padlen = MD5_BLOCK_LENGTH -
((ctx->count >> 3) & (MD5_BLOCK_LENGTH - 1));
padlen += MD5_BLOCK_LENGTH;
MD5Transform(u_int32_t state[4], const u_int8_t block[MD5_BLOCK_LENGTH])
u_int32_t a, b, c, d, in[MD5_BLOCK_LENGTH / 4];
for (a = 0; a < MD5_BLOCK_LENGTH / 4; a++) {
static const u_int8_t PADDING[MD5_BLOCK_LENGTH] = {
have = (size_t)((ctx->count >> 3) & (MD5_BLOCK_LENGTH - 1));
need = MD5_BLOCK_LENGTH - have;
while (len >= MD5_BLOCK_LENGTH) {
input += MD5_BLOCK_LENGTH;
len -= MD5_BLOCK_LENGTH;
HASH_MD5, 5, MD5_SIZE, MD5_BLOCK_LENGTH, (void *)&Ctx.md5ctx, digest,
u_int8_t k_ipad[MD5_BLOCK_LENGTH];
if (key_len > MD5_BLOCK_LENGTH) {
bzero(k_ipad, MD5_BLOCK_LENGTH);
for (i = 0; i < MD5_BLOCK_LENGTH; i++)
MD5Update(&ctx->ctx, k_ipad, MD5_BLOCK_LENGTH);
u_int8_t k_opad[MD5_BLOCK_LENGTH];
bzero(k_opad, MD5_BLOCK_LENGTH);
for (i = 0; i < MD5_BLOCK_LENGTH; i++)
MD5Update(&ctx->ctx, k_opad, MD5_BLOCK_LENGTH);
u_int8_t key[MD5_BLOCK_LENGTH];
padlen = MD5_BLOCK_LENGTH -
((ctx->count >> 3) & (MD5_BLOCK_LENGTH - 1));
padlen += MD5_BLOCK_LENGTH;
MD5Transform(u_int32_t state[4], const u_int8_t block[MD5_BLOCK_LENGTH])
u_int32_t a, b, c, d, in[MD5_BLOCK_LENGTH / 4];
for (a = 0; a < MD5_BLOCK_LENGTH / 4; a++) {
static u_int8_t PADDING[MD5_BLOCK_LENGTH] = {
have = (size_t)((ctx->count >> 3) & (MD5_BLOCK_LENGTH - 1));
need = MD5_BLOCK_LENGTH - have;
while (len >= MD5_BLOCK_LENGTH) {
input += MD5_BLOCK_LENGTH;
len -= MD5_BLOCK_LENGTH;
u_int8_t buffer[MD5_BLOCK_LENGTH]; /* input buffer */
void MD5Transform(u_int32_t [4], const u_int8_t [MD5_BLOCK_LENGTH])
__attribute__((__bounded__(__minbytes__,2,MD5_BLOCK_LENGTH)));
MD5_BLOCK_LENGTH,