blob: 6958e382c8110945097f3c8c1d5651adba87da05 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// Stripped down version of security/nss/lib/freebl/blapi.h
// and related headers.
#ifndef _SHA256_H_
#define _SHA256_H_
#define SHA256_LENGTH 32
#include "prtypes.h" /* for PRUintXX */
#include "prlong.h"
#ifdef __cplusplus
extern "C" {
#endif
struct SHA256Context {
union {
PRUint32 w[64]; /* message schedule, input buffer, plus 48 words */
PRUint8 b[256];
} u;
PRUint32 h[8]; /* 8 state variables */
PRUint32 sizeHi,sizeLo; /* 64-bit count of hashed bytes. */
};
typedef struct SHA256Context SHA256Context;
extern void
SHA256_Begin(SHA256Context *ctx);
extern void
SHA256_Update(SHA256Context *ctx, const unsigned char *input,
unsigned int inputLen);
extern void
SHA256_End(SHA256Context *ctx, unsigned char *digest,
unsigned int *digestLen, unsigned int maxDigestLen);
#ifdef __cplusplus
} /* extern C */
#endif
#endif /* _SHA256_H_ */
|