version 1.5.6.1, 2006/10/06 03:19:32 |
version 1.6, 2008/09/06 12:01:34 |
|
|
static int |
static int |
ssh_sha256_init(EVP_MD_CTX *ctxt) |
ssh_sha256_init(EVP_MD_CTX *ctxt) |
{ |
{ |
SHA256_Init(ctxt->md_data); |
SHA256Init(ctxt->md_data); |
return (1); |
return (1); |
} |
} |
|
|
static int |
static int |
ssh_sha256_update(EVP_MD_CTX *ctxt, const void *data, unsigned long len) |
ssh_sha256_update(EVP_MD_CTX *ctxt, const void *data, unsigned long len) |
{ |
{ |
SHA256_Update(ctxt->md_data, data, len); |
SHA256Update(ctxt->md_data, data, len); |
return (1); |
return (1); |
} |
} |
|
|
static int |
static int |
ssh_sha256_final(EVP_MD_CTX *ctxt, unsigned char *digest) |
ssh_sha256_final(EVP_MD_CTX *ctxt, unsigned char *digest) |
{ |
{ |
SHA256_Final(digest, ctxt->md_data); |
SHA256Final(digest, ctxt->md_data); |
return (1); |
return (1); |
} |
} |
|
|
static int |
static int |
ssh_sha256_cleanup(EVP_MD_CTX *ctxt) |
ssh_sha256_cleanup(EVP_MD_CTX *ctxt) |
{ |
{ |
memset(ctxt->md_data, 0, sizeof(SHA256_CTX)); |
memset(ctxt->md_data, 0, sizeof(SHA2_CTX)); |
return (1); |
return (1); |
} |
} |
|
|
|
|
ssh_sha256.final = ssh_sha256_final; |
ssh_sha256.final = ssh_sha256_final; |
ssh_sha256.cleanup = ssh_sha256_cleanup; |
ssh_sha256.cleanup = ssh_sha256_cleanup; |
ssh_sha256.block_size = SHA256_BLOCK_LENGTH; |
ssh_sha256.block_size = SHA256_BLOCK_LENGTH; |
ssh_sha256.ctx_size = sizeof(SHA256_CTX); |
ssh_sha256.ctx_size = sizeof(SHA2_CTX); |
|
|
return (&ssh_sha256); |
return (&ssh_sha256); |
} |
} |