1 /*********************************************************************
3 * Author: Brad Conte (brad AT bradconte.com)
5 * Disclaimer: This code is presented "as is" without any guarantees.
6 * Details: Defines the API for the corresponding SHA1 implementation.
7 *********************************************************************/
12 /*************************** HEADER FILES ***************************/
15 /****************************** MACROS ******************************/
16 #define SHA1_BLOCK_SIZE 20 // SHA1 outputs a 20 byte digest
18 /**************************** DATA TYPES ****************************/
19 typedef unsigned char BYTE; // 8-bit byte
20 typedef unsigned int WORD; // 32-bit word, change to "long" for 16-bit machines
25 unsigned long long bitlen;
30 /*********************** FUNCTION DECLARATIONS **********************/
31 void sha1_init(SHA1_CTX *ctx);
32 void sha1_update(SHA1_CTX *ctx, const BYTE data[], size_t len);
33 void sha1_final(SHA1_CTX *ctx, BYTE hash[]);