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