1*8d67ca89SAndroid Build Coastguard Worker /* $NetBSD: sha1.h,v 1.13 2005/12/26 18:41:36 perry Exp $ */ 2*8d67ca89SAndroid Build Coastguard Worker 3*8d67ca89SAndroid Build Coastguard Worker /* 4*8d67ca89SAndroid Build Coastguard Worker * SHA-1 in C 5*8d67ca89SAndroid Build Coastguard Worker * By Steve Reid <[email protected]> 6*8d67ca89SAndroid Build Coastguard Worker * 100% Public Domain 7*8d67ca89SAndroid Build Coastguard Worker */ 8*8d67ca89SAndroid Build Coastguard Worker 9*8d67ca89SAndroid Build Coastguard Worker #ifndef _SYS_SHA1_H_ 10*8d67ca89SAndroid Build Coastguard Worker #define _SYS_SHA1_H_ 11*8d67ca89SAndroid Build Coastguard Worker 12*8d67ca89SAndroid Build Coastguard Worker #include <sys/cdefs.h> 13*8d67ca89SAndroid Build Coastguard Worker #include <sys/types.h> 14*8d67ca89SAndroid Build Coastguard Worker 15*8d67ca89SAndroid Build Coastguard Worker #define SHA1_DIGEST_LENGTH 20 16*8d67ca89SAndroid Build Coastguard Worker #define SHA1_DIGEST_STRING_LENGTH 41 17*8d67ca89SAndroid Build Coastguard Worker 18*8d67ca89SAndroid Build Coastguard Worker typedef struct { 19*8d67ca89SAndroid Build Coastguard Worker uint32_t state[5]; 20*8d67ca89SAndroid Build Coastguard Worker uint32_t count[2]; 21*8d67ca89SAndroid Build Coastguard Worker u_char buffer[64]; 22*8d67ca89SAndroid Build Coastguard Worker } SHA1_CTX; 23*8d67ca89SAndroid Build Coastguard Worker 24*8d67ca89SAndroid Build Coastguard Worker __BEGIN_DECLS 25*8d67ca89SAndroid Build Coastguard Worker void SHA1Transform(uint32_t[5], const u_char[64]); 26*8d67ca89SAndroid Build Coastguard Worker void SHA1Init(SHA1_CTX *); 27*8d67ca89SAndroid Build Coastguard Worker void SHA1Update(SHA1_CTX *, const u_char *, u_int); 28*8d67ca89SAndroid Build Coastguard Worker void SHA1Final(u_char[SHA1_DIGEST_LENGTH], SHA1_CTX *); 29*8d67ca89SAndroid Build Coastguard Worker __END_DECLS 30*8d67ca89SAndroid Build Coastguard Worker 31*8d67ca89SAndroid Build Coastguard Worker #endif /* _SYS_SHA1_H_ */ 32