root / lab4 / .minix-src / include / sys / md5.h @ 14
History | View | Annotate | Download (1.85 KB)
1 |
/* $NetBSD: md5.h,v 1.9 2005/12/26 18:41:36 perry Exp $ */
|
---|---|
2 |
|
3 |
/*
|
4 |
* This file is derived from the RSA Data Security, Inc. MD5 Message-Digest
|
5 |
* Algorithm and has been modified by Jason R. Thorpe <thorpej@NetBSD.org>
|
6 |
* for portability and formatting.
|
7 |
*/
|
8 |
|
9 |
/*
|
10 |
* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
|
11 |
* rights reserved.
|
12 |
*
|
13 |
* License to copy and use this software is granted provided that it
|
14 |
* is identified as the "RSA Data Security, Inc. MD5 Message-Digest
|
15 |
* Algorithm" in all material mentioning or referencing this software
|
16 |
* or this function.
|
17 |
*
|
18 |
* License is also granted to make and use derivative works provided
|
19 |
* that such works are identified as "derived from the RSA Data
|
20 |
* Security, Inc. MD5 Message-Digest Algorithm" in all material
|
21 |
* mentioning or referencing the derived work.
|
22 |
*
|
23 |
* RSA Data Security, Inc. makes no representations concerning either
|
24 |
* the merchantability of this software or the suitability of this
|
25 |
* software for any particular purpose. It is provided "as is"
|
26 |
* without express or implied warranty of any kind.
|
27 |
*
|
28 |
* These notices must be retained in any copies of any part of this
|
29 |
* documentation and/or software.
|
30 |
*/
|
31 |
|
32 |
#ifndef _SYS_MD5_H_
|
33 |
#define _SYS_MD5_H_
|
34 |
|
35 |
#include <sys/types.h> |
36 |
|
37 |
#define MD5_DIGEST_LENGTH 16 |
38 |
#define MD5_DIGEST_STRING_LENGTH 33 |
39 |
|
40 |
/* MD5 context. */
|
41 |
typedef struct MD5Context { |
42 |
uint32_t state[4]; /* state (ABCD) */ |
43 |
uint32_t count[2]; /* number of bits, modulo 2^64 (lsb first) */ |
44 |
unsigned char buffer[64]; /* input buffer */ |
45 |
} MD5_CTX; |
46 |
|
47 |
__BEGIN_DECLS |
48 |
void MD5Init(MD5_CTX *);
|
49 |
void MD5Update(MD5_CTX *, const unsigned char *, unsigned int); |
50 |
void MD5Final(unsigned char[MD5_DIGEST_LENGTH], MD5_CTX *); |
51 |
#ifndef _KERNEL
|
52 |
char *MD5End(MD5_CTX *, char *); |
53 |
char *MD5File(const char *, char *); |
54 |
char *MD5Data(const unsigned char *, unsigned int, char *); |
55 |
#endif /* _KERNEL */ |
56 |
__END_DECLS |
57 |
|
58 |
#endif /* _SYS_MD5_H_ */ |