Created
April 26, 2020 06:02
-
-
Save aneury1/0d8e0fcb5aa4febfa9a1d04dc996294f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* sha1.h | |
* | |
* Description: | |
* This is the header file for code which implements the Secure | |
* Hashing Algorithm 1 as defined in FIPS PUB 180-1 published | |
* April 17, 1995. | |
* | |
* Many of the variable names in this code, especially the | |
* single character names, were used because those were the names | |
* used in the publication. | |
* | |
* Please read the file sha1.c for more information. | |
* | |
*/ | |
#ifndef _SHA1_H_ | |
#define _SHA1_H_ | |
#include <stdint.h> | |
/* | |
* If you do not have the ISO standard stdint.h header file, then you | |
* must typdef the following: | |
* name meaning | |
* uint32_t unsigned 32 bit integer | |
* uint8_t unsigned 8 bit integer (i.e., unsigned char) | |
* int_least16_t integer of >= 16 bits | |
* | |
*/ | |
#ifndef _SHA_enum_ | |
#define _SHA_enum_ | |
enum | |
{ | |
shaSuccess = 0, | |
shaNull, /* Null pointer parameter */ | |
shaInputTooLong, /* input data too long */ | |
shaStateError /* called Input after Result */ | |
}; | |
#endif | |
#define SHA1HashSize 20 | |
/* | |
* This structure will hold context information for the SHA-1 | |
* hashing operation | |
*/ | |
typedef struct SHA1Context | |
{ | |
uint32_t Intermediate_Hash[SHA1HashSize/4]; /* Message Digest */ | |
uint32_t Length_Low; /* Message length in bits */ | |
uint32_t Length_High; /* Message length in bits */ | |
/* Index into message block array */ | |
int_least16_t Message_Block_Index; | |
uint8_t Message_Block[64]; /* 512-bit message blocks */ | |
int Computed; /* Is the digest computed? */ | |
int Corrupted; /* Is the message digest corrupted? */ | |
} SHA1Context; | |
/* | |
* Function Prototypes | |
*/ | |
int SHA1Reset( SHA1Context *); | |
int SHA1Input( SHA1Context *, | |
const uint8_t *, | |
unsigned int); | |
int SHA1Result( SHA1Context *, | |
uint8_t Message_Digest[SHA1HashSize]); | |
#endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment