MD5Init(&s);
MD5Update(&s, (unsigned char const *)p, len);
MD5Final(output, &s);
+ smemclr(&s, sizeof(s));
}
/* ----------------------------------------------------------------------
void hmacmd5_free_context(void *handle)
{
+ smemclr(handle, 3*sizeof(struct MD5Context));
sfree(handle);
}
SHA256_Init(&s);
SHA256_Bytes(&s, p, len);
SHA256_Final(&s, output);
+ smemclr(&s, sizeof(s));
}
/*
SHA256_State *s = handle;
SHA256_Final(s, output);
+ smemclr(s, sizeof(*s));
sfree(s);
}
static void sha256_free_context(void *handle)
{
+ smemclr(handle, 3 * sizeof(SHA256_State));
sfree(handle);
}
SHA512_Init(&s);
SHA512_Bytes(&s, p, len);
SHA512_Final(&s, output);
+ smemclr(&s, sizeof(s));
}
void SHA384_Simple(const void *p, int len, unsigned char *output) {
SHA384_Init(&s);
SHA512_Bytes(&s, p, len);
SHA384_Final(&s, output);
+ smemclr(&s, sizeof(s));
}
/*
SHA512_State *s = handle;
SHA512_Final(s, output);
+ smemclr(s, sizeof(*s));
sfree(s);
}
SHA512_State *s = handle;
SHA384_Final(s, output);
+ smemclr(s, sizeof(*s));
sfree(s);
}
SHA_Init(&s);
SHA_Bytes(&s, p, len);
SHA_Final(&s, output);
+ smemclr(&s, sizeof(s));
}
/*
SHA_State *s = handle;
SHA_Final(s, output);
+ smemclr(s, sizeof(*s));
sfree(s);
}
static void sha1_free_context(void *handle)
{
+ smemclr(handle, 3 * sizeof(SHA_State));
sfree(handle);
}