111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* $NetBSD: sha1.h,v 1.13 2005/12/26 18:41:36 perry Exp $ */ 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * SHA-1 in C 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * By Steve Reid <steve@edmweb.com> 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 100% Public Domain 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _SYS_SHA1_H_ 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _SYS_SHA1_H_ 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <sys/cdefs.h> 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <sys/types.h> 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SHA1_DIGEST_LENGTH 20 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SHA1_DIGEST_STRING_LENGTH 41 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct { 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t state[5]; 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert uint32_t count[2]; 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert u_char buffer[64]; 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} SHA1_CTX; 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert__BEGIN_DECLS 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid SHA1Transform(uint32_t[5], const u_char[64]); 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid SHA1Init(SHA1_CTX *); 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid SHA1Update(SHA1_CTX *, const u_char *, u_int); 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid SHA1Final(u_char[SHA1_DIGEST_LENGTH], SHA1_CTX *); 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert__END_DECLS 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* _SYS_SHA1_H_ */ 32