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