1 /* $OpenBSD: sha1.h,v 1.6 2014/11/16 17:39:09 tedu Exp $ */ 2 3 /* 4 * SHA-1 in C 5 * By Steve Reid <steve@edmweb.com> 6 * 100% Public Domain 7 */ 8 9 #ifndef _SHA1_H_ 10 #define _SHA1_H_ 11 12 #define SHA1_BLOCK_LENGTH 64 13 #define SHA1_DIGEST_LENGTH 20 14 15 typedef struct { 16 u_int32_t state[5]; 17 u_int64_t count; 18 unsigned char buffer[SHA1_BLOCK_LENGTH]; 19 } SHA1_CTX; 20 21 void SHA1Init(SHA1_CTX * context); 22 void SHA1Transform(u_int32_t state[5], const unsigned char buffer[SHA1_BLOCK_LENGTH]); 23 void SHA1Update(SHA1_CTX *context, const void *data, unsigned int len); 24 void SHA1Final(unsigned char digest[SHA1_DIGEST_LENGTH], SHA1_CTX *context); 25 26 #endif /* _SHA1_H_ */ 27