amiga-apg/sha/sha.h

41 lines
1.2 KiB
C

/***************************************************************************/
/* sha.h */
/* */
/* SHA-1 code header file. */
/* Taken from the public domain implementation by Peter C. Gutmann */
/* on 2 Sep 1992, modified by Carl Ellison to be SHA-1. */
/***************************************************************************/
#ifndef _SHA_H_
#define _SHA_H_
/* Define APG_LITTLE_ENDIAN if the machine is little-endian */
// m68k is BIG_ENDIAN
//#define APG_LITTLE_ENDIAN
/* Useful defines/typedefs */
typedef unsigned char BYTE ;
typedef unsigned long LONG ;
/* The SHA block size and message digest sizes, in bytes */
#define SHA_BLOCKSIZE 64
#define SHA_DIGESTSIZE 20
/* The structure for storing SHA info */
typedef struct {
LONG digest[ 5 ] ; /* Message digest */
LONG countLo, countHi ; /* 64-bit bit count */
LONG data[ 16 ] ; /* SHA data buffer */
LONG slop ; /* # of bytes saved in data[] */
} apg_SHA_INFO ;
void apg_shaInit( apg_SHA_INFO *shaInfo ) ;
void apg_shaUpdate( apg_SHA_INFO *shaInfo, BYTE *buffer, int count ) ;
void apg_shaFinal( apg_SHA_INFO *shaInfo, BYTE hash[SHA_DIGESTSIZE] ) ;
#endif /* _SHA_H_ */