SHA256_DIGEST_LENGTH
(size_t)(SHA256_DIGEST_LENGTH));
SHA256_Final(uint8_t digest[SHA256_DIGEST_LENGTH], SHA256_CTX *context)
return SHA224_256_Final(digest, context, SHA256_DIGEST_LENGTH);
(size_t)(SHA256_DIGEST_LENGTH));
if ((res = vmalloc(SHA256_DIGEST_LENGTH)) == 0)
if (SHA256_DIGEST_LENGTH != res->l) {
if ((res = vmalloc(SHA256_DIGEST_LENGTH)) == 0)
return SHA256_DIGEST_LENGTH << 3;
SHA256_DIGEST_LENGTH,
bcopy(sha256_initial_hash_value, context->state, SHA256_DIGEST_LENGTH);
bcopy(context->state, d, SHA256_DIGEST_LENGTH);
sha2_byte digest[SHA256_DIGEST_LENGTH], *d = digest;
for (i = 0; i < SHA256_DIGEST_LENGTH; i++) {
bzero(digest, SHA256_DIGEST_LENGTH);
void SHA256_Final __P((u_int8_t[SHA256_DIGEST_LENGTH], SHA256_CTX*));
#define SHA256_DIGEST_STRING_LENGTH (SHA256_DIGEST_LENGTH * 2 + 1)
__CTASSERT(sizeof buf == SHA256_DIGEST_LENGTH);
"sha256", sizeof(SHA256_CTX), SHA256_DIGEST_LENGTH,
uint8_t T[SHA256_DIGEST_LENGTH], *p = okm;
if (L > 255*SHA256_DIGEST_LENGTH)
for (tlen = 0, i = 1; L > 0; i++, tlen = SHA256_DIGEST_LENGTH) {
n = (L < SHA256_DIGEST_LENGTH ? L : SHA256_DIGEST_LENGTH);
uint8_t hkey[SHA256_DIGEST_LENGTH];
hmacsha256_final(uint8_t h[static SHA256_DIGEST_LENGTH],
SHA256_Update(&H->sha256, h, SHA256_DIGEST_LENGTH);
kg->kg_sharedlen = 8*SHA256_DIGEST_LENGTH;
kg->kg_sharedlen = 8*SHA256_DIGEST_LENGTH;
#define HASH_LENGTH SHA256_DIGEST_LENGTH
FPOPS_ADD("SHA256", SHA256_DIGEST_LENGTH, sizeof(SHA256_CTX),
#define SHA256_DIGEST_STRING_LENGTH (SHA256_DIGEST_LENGTH * 2 + 1)
int SHA256_Final(uint8_t[SHA256_DIGEST_LENGTH], SHA256_CTX*);
unsigned char digest[8 + SHA256_DIGEST_LENGTH];
digest2string(digest + j, output, SHA256_DIGEST_LENGTH);
uint8_t digest[SHA256_DIGEST_LENGTH];