33 #define SHA256_BLOCK_LENGTH 64
34 #define SHA256_DIGEST_LENGTH 32
35 #define SHA256_DIGEST_STRING_LENGTH (SHA256_DIGEST_LENGTH * 2 + 1)
36 #define SHA384_BLOCK_LENGTH 128
37 #define SHA384_DIGEST_LENGTH 48
38 #define SHA384_DIGEST_STRING_LENGTH (SHA384_DIGEST_LENGTH * 2 + 1)
39 #define SHA512_BLOCK_LENGTH 128
40 #define SHA512_DIGEST_LENGTH 64
41 #define SHA512_DIGEST_STRING_LENGTH (SHA512_DIGEST_LENGTH * 2 + 1)
46 apr_uint32_t state[8];
47 apr_uint64_t bitcount;
48 apr_byte_t buffer[SHA256_BLOCK_LENGTH];
51 apr_uint64_t state[8];
52 apr_uint64_t bitcount[2];
53 apr_byte_t buffer[SHA512_BLOCK_LENGTH];
61 void apr__SHA256_Update(
SHA256_CTX *,
const apr_byte_t *,
size_t);
62 void apr__SHA256_Final(apr_byte_t [SHA256_DIGEST_LENGTH],
SHA256_CTX *);
63 char* apr__SHA256_End(
SHA256_CTX *,
char [SHA256_DIGEST_STRING_LENGTH]);
64 char* apr__SHA256_Data(
const apr_byte_t *,
size_t,
65 char [SHA256_DIGEST_STRING_LENGTH]);
67 void apr__SHA384_Init(SHA384_CTX *);
68 void apr__SHA384_Update(SHA384_CTX *,
const apr_byte_t *,
size_t);
69 void apr__SHA384_Final(apr_byte_t [SHA384_DIGEST_LENGTH], SHA384_CTX *);
70 char* apr__SHA384_End(SHA384_CTX *,
char [SHA384_DIGEST_STRING_LENGTH]);
71 char* apr__SHA384_Data(
const apr_byte_t *,
size_t,
72 char [SHA384_DIGEST_STRING_LENGTH]);
75 void apr__SHA512_Update(
SHA512_CTX *,
const apr_byte_t *,
size_t);
76 void apr__SHA512_Final(apr_byte_t [SHA512_DIGEST_LENGTH],
SHA512_CTX *);
77 char* apr__SHA512_End(
SHA512_CTX *,
char [SHA512_DIGEST_STRING_LENGTH]);
78 char* apr__SHA512_Data(
const apr_byte_t *,
size_t,
79 char [SHA512_DIGEST_STRING_LENGTH]);