25 #ifndef WOLFSSL_SHA_H_ 26 #define WOLFSSL_SHA_H_ 28 #include <wolfssl/wolfcrypt/settings.h> 32 #include "prefix_sha.h" 40 typedef struct WOLFSSL_SHA_CTX {
42 #if defined(STM32_HASH) 45 void* holder[(112 + WC_ASYNC_DEV_SIZE) /
sizeof(
void*)];
48 void* cryptocb_holder[(
sizeof(int) +
sizeof(
void*) + 4) /
sizeof(
void*)];
52 WOLFSSL_API
int wolfSSL_SHA_Init(WOLFSSL_SHA_CTX*);
53 WOLFSSL_API
int wolfSSL_SHA_Update(WOLFSSL_SHA_CTX*,
const void*,
unsigned long);
54 WOLFSSL_API
int wolfSSL_SHA_Final(
unsigned char*, WOLFSSL_SHA_CTX*);
57 WOLFSSL_API
int wolfSSL_SHA1_Init(WOLFSSL_SHA_CTX*);
58 WOLFSSL_API
int wolfSSL_SHA1_Update(WOLFSSL_SHA_CTX*,
const void*,
unsigned long);
59 WOLFSSL_API
int wolfSSL_SHA1_Final(
unsigned char*, WOLFSSL_SHA_CTX*);
62 SHA_DIGEST_LENGTH = 20
66 typedef WOLFSSL_SHA_CTX SHA_CTX;
68 #define SHA_Init wolfSSL_SHA_Init 69 #define SHA_Update wolfSSL_SHA_Update 70 #define SHA_Final wolfSSL_SHA_Final 72 #define SHA1_Init wolfSSL_SHA1_Init 73 #define SHA1_Update wolfSSL_SHA1_Update 74 #define SHA1_Final wolfSSL_SHA1_Final 84 ALIGN16
void* holder[(272 + WC_ASYNC_DEV_SIZE) /
sizeof(
void*)];
93 SHA224_DIGEST_LENGTH = 28
99 #define SHA224_Init wolfSSL_SHA224_Init 100 #define SHA224_Update wolfSSL_SHA224_Update 101 #define SHA224_Final wolfSSL_SHA224_Final 111 ALIGN16
void* holder[(272 + WC_ASYNC_DEV_SIZE) /
sizeof(
void*)];
120 SHA256_DIGEST_LENGTH = 32
126 #define SHA256_Init wolfSSL_SHA256_Init 127 #define SHA256_Update wolfSSL_SHA256_Update 128 #define SHA256_Final wolfSSL_SHA256_Final 129 #if defined(NO_OLD_SHA_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST) 132 #define SHA256 wolfSSL_SHA256 136 #ifdef WOLFSSL_SHA384 140 void* holder[(256 + WC_ASYNC_DEV_SIZE) /
sizeof(
void*)];
149 SHA384_DIGEST_LENGTH = 48
155 #define SHA384_Init wolfSSL_SHA384_Init 156 #define SHA384_Update wolfSSL_SHA384_Update 157 #define SHA384_Final wolfSSL_SHA384_Final 158 #if defined(NO_OLD_SHA_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST) 161 #define SHA384 wolfSSL_SHA384 165 #ifdef WOLFSSL_SHA512 169 void* holder[(288 + WC_ASYNC_DEV_SIZE) /
sizeof(
void*)];
178 SHA512_DIGEST_LENGTH = 64
184 #define SHA512_Init wolfSSL_SHA512_Init 185 #define SHA512_Update wolfSSL_SHA512_Update 186 #define SHA512_Final wolfSSL_SHA512_Final 187 #if defined(NO_OLD_SHA_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST) 190 #define SHA512 wolfSSL_SHA512