00001 #ifndef SHA1_H 00002 #define SHA1_H 00003 00008 #include "int_sizes.h" 00009 00010 #define SHA1_DIGEST_LENGTH 20 00011 #define SHA1_DIGEST_ASCII_LENGTH 42 00012 00013 typedef struct { 00014 UINT32_T digest[5]; 00015 UINT32_T countLo, countHi; 00016 UINT32_T data[16]; 00017 int Endianness; 00018 } sha1_context_t; 00019 00020 void sha1_init( sha1_context_t *ctx ); 00021 void sha1_update( sha1_context_t *ctx, const unsigned char *, unsigned int ); 00022 void sha1_final( unsigned char digest[SHA1_DIGEST_LENGTH], sha1_context_t *ctx ); 00023 00032 int sha1_file( const char *filename, unsigned char digest[SHA1_DIGEST_LENGTH] ); 00033 00039 const char * sha1_string( unsigned char digest[SHA1_DIGEST_LENGTH] ); 00040 00041 #endif