2025-03-09 23:45:43 +09:00

30 lines
806 B
C

/**
* @file re_sha.h Interface to SHA (Secure Hash Standard) functions
*
* Copyright (C) 2010 Creytiv.com
*/
/** SHA-1 Digest size in bytes */
#define SHA1_DIGEST_SIZE 20
#define SHA256_DIGEST_SIZE 32
#define SHA512_DIGEST_SIZE 64
#ifndef SHA_DIGEST_LENGTH
/** SHA-1 Digest size in bytes (OpenSSL compat) */
#define SHA_DIGEST_LENGTH SHA1_DIGEST_SIZE
#endif
#ifndef SHA256_DIGEST_LENGTH
/** SHA-256 Digest size in bytes (OpenSSL compat) */
#define SHA256_DIGEST_LENGTH SHA256_DIGEST_SIZE
#endif
#ifndef SHA512_DIGEST_LENGTH
/** SHA-512 Digest size in bytes (OpenSSL compat) */
#define SHA512_DIGEST_LENGTH SHA512_DIGEST_SIZE
#endif
void sha1(const uint8_t *d, size_t n, uint8_t *md);
void sha256(const uint8_t *d, size_t n, uint8_t *md);
int sha256_printf(uint8_t md[32], const char *fmt, ...);