00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00026
#ifndef _SHA1_H
00027
#define _SHA1_H
00028
00029
#include "beecrypt.h"
00030
#include "sha1opt.h"
00031
00035 typedef struct
00036
{
00039 uint32_t h[5];
00042 uint32_t data[80];
00047
#if (MP_WBITS == 64)
00048
mpw length[1];
00049
#elif (MP_WBITS == 32)
00050
mpw length[2];
00051
#else
00052
# error
00053
#endif
00054
00058 uint32_t offset;
00059 }
sha1Param;
00060
00061
#ifdef __cplusplus
00062
extern "C" {
00063
#endif
00064
00068
extern BEECRYPTAPI const hashFunction sha1;
00069
00075
BEECRYPTAPI
00076
void sha1Process(
sha1Param* sp);
00077
00084
BEECRYPTAPI
00085
int sha1Reset (
sha1Param* sp);
00086
00095
BEECRYPTAPI
00096
int sha1Update (
sha1Param* sp,
const byte* data, size_t size);
00097
00105
BEECRYPTAPI
00106
int sha1Digest (
sha1Param* sp, byte* digest);
00107
00108
#ifdef __cplusplus
00109
}
00110
#endif
00111
00112
#endif