sha2_glue.c revision 251875
1#include <apr.h> 2#include <apr_random.h> 3#include <apr_pools.h> 4#include "sha2.h" 5 6static void sha256_init(apr_crypto_hash_t *h) 7 { 8 apr__SHA256_Init(h->data); 9 } 10 11static void sha256_add(apr_crypto_hash_t *h,const void *data, 12 apr_size_t bytes) 13 { 14 apr__SHA256_Update(h->data,data,bytes); 15 } 16 17static void sha256_finish(apr_crypto_hash_t *h,unsigned char *result) 18 { 19 apr__SHA256_Final(result,h->data); 20 } 21 22APR_DECLARE(apr_crypto_hash_t *) apr_crypto_sha256_new(apr_pool_t *p) 23 { 24 apr_crypto_hash_t *h=apr_palloc(p,sizeof *h); 25 26 h->data=apr_palloc(p,sizeof(SHA256_CTX)); 27 h->init=sha256_init; 28 h->add=sha256_add; 29 h->finish=sha256_finish; 30 h->size=256/8; 31 32 return h; 33 } 34