2008-05-23 [paul] 3.4.0cvs65
[claws.git] / src / common / md5.h
1 /* md5.h - MD5 Message-Digest Algorithm
2  *      Copyright (C) 1995, 1996, 1998, 1999 Free Software Foundation, Inc.
3  *
4  * according to the definition of MD5 in RFC 1321 from April 1992.
5  * NOTE: This is *not* the same file as the one from glibc
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by the
9  * Free Software Foundation; either version 3, or (at your option) any
10  * later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #ifndef _MD5_HDR_
22 #define _MD5_HDR_
23
24 #include "utils.h"
25
26 typedef struct {  /* Hmm, should be private */
27     u32 A,B,C,D;
28     u32  nblocks;
29     unsigned char buf[64];
30     int  count;
31     int  finalized;
32 } MD5_CONTEXT;
33
34 void md5_hex_digest(char *hexdigest, const unsigned char *s);
35 void md5_hex_digest_binary(char *hexdigest, const unsigned char *s, size_t len);
36 int md5_hex_digest_file(char *hexdigest, const unsigned char *file);
37 void md5_hex_hmac(char *hexdigest,
38                   const unsigned char* text, int text_len,
39                   const unsigned char* key, int key_len);
40
41 #endif /* _MD5_HDR_ */
42