34 lines
859 B
C
34 lines
859 B
C
/**
|
|
* @file re_sha.h Interface to SHA (Secure Hash Standard) functions
|
|
*
|
|
* Copyright (C) 2010 Creytiv.com
|
|
*/
|
|
|
|
|
|
#ifdef USE_OPENSSL
|
|
#include <openssl/sha.h>
|
|
#else
|
|
|
|
/* public api for steve reid's public domain SHA-1 implementation */
|
|
/* this file is in the public domain */
|
|
|
|
/** SHA-1 Context */
|
|
typedef struct {
|
|
uint32_t state[5]; /**< Context state */
|
|
uint32_t count[2]; /**< Counter */
|
|
uint8_t buffer[64]; /**< SHA-1 buffer */
|
|
} SHA1_CTX;
|
|
|
|
/** SHA-1 Context (OpenSSL compat) */
|
|
typedef SHA1_CTX SHA_CTX;
|
|
|
|
/** SHA-1 Digest size in bytes */
|
|
#define SHA1_DIGEST_SIZE 20
|
|
/** SHA-1 Digest size in bytes (OpenSSL compat) */
|
|
#define SHA_DIGEST_LENGTH SHA1_DIGEST_SIZE
|
|
|
|
void SHA1_Init(SHA1_CTX* context);
|
|
void SHA1_Update(SHA1_CTX* context, const void *p, size_t len);
|
|
void SHA1_Final(uint8_t digest[SHA1_DIGEST_SIZE], SHA1_CTX* context);
|
|
|
|
#endif
|