summaryrefslogtreecommitdiffstats
path: root/libmd5/md5.h
diff options
context:
space:
mode:
Diffstat (limited to 'libmd5/md5.h')
-rw-r--r--libmd5/md5.h79
1 files changed, 42 insertions, 37 deletions
diff --git a/libmd5/md5.h b/libmd5/md5.h
index 8e85a8a..03f8ff6 100644
--- a/libmd5/md5.h
+++ b/libmd5/md5.h
@@ -1,47 +1,52 @@
-/* MD5.H - header file for MD5C.C
+/*
+ * This is the header file for the MD5 message-digest algorithm.
+ * The algorithm is due to Ron Rivest. This code was
+ * written by Colin Plumb in 1993, no copyright is claimed.
+ * This code is in the public domain; do with it what you wish.
+ *
+ * Equivalent code is available from RSA Data Security, Inc.
+ * This code has been tested against that, and is equivalent,
+ * except that you don't need to include two pages of legalese
+ * with every copy.
+ *
+ * To compute the message digest of a chunk of bytes, declare an
+ * MD5Context structure, pass it to MD5Init, call MD5Update as
+ * needed on buffers full of bytes, and then call MD5Final, which
+ * will fill a supplied 16-byte array with the digest.
+ *
+ * Changed so as no longer to depend on Colin Plumb's `usual.h'
+ * header definitions; now uses stuff from dpkg's config.h
+ * - Ian Jackson <ian@chiark.greenend.org.uk>.
+ * Still in the public domain.
*/
-/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
- rights reserved.
-
- License to copy and use this software is granted provided that it
- is identified as the "RSA Data Security, Inc. MD5 Message-Digest
- Algorithm" in all material mentioning or referencing this software
- or this function.
-
- License is also granted to make and use derivative works provided
- that such works are identified as "derived from the RSA Data
- Security, Inc. MD5 Message-Digest Algorithm" in all material
- mentioning or referencing the derived work.
-
- RSA Data Security, Inc. makes no representations concerning either
- the merchantability of this software or the suitability of this
- software for any particular purpose. It is provided "as is"
- without express or implied warranty of any kind.
-
- These notices must be retained in any copies of any part of this
- documentation and/or software.
- */
-
-#ifndef _MD5_H_
-#define _MD5_H_
+#ifndef MD5_H
+#define MD5_H
#ifdef __cplusplus
extern "C" {
#endif
#include "md5_loc.h"
-
-/* MD5 context. */
-typedef struct {
- UINT4 state[4]; /* state (ABCD) */
- UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
- unsigned char buffer[64]; /* input buffer */
-} MD5_CTX;
-
-void MD5Init(MD5_CTX *ctx);
-void MD5Update (MD5_CTX *ctx, const unsigned char *buf, unsigned int len);
-void MD5Final (MD5_CTX *ctx, unsigned char sig[16]);
+
+#define md5byte unsigned char
+
+//#if SIZEOF_UNSIGNED_LONG==4
+//# define UWORD32 unsigned long
+//#elif SIZEOF_UNSIGNED_INT==4
+//#else
+//# error I do not know what to use for a UWORD32.
+//#endif
+
+struct MD5Context {
+ UWORD32 buf[4];
+ UWORD32 bytes[2];
+ UWORD32 in[16];
+};
+
+void MD5Init(struct MD5Context *context);
+void MD5Update(struct MD5Context *context, md5byte const *buf, unsigned len);
+void MD5Final(unsigned char digest[16], struct MD5Context *context);
void MD5Buffer (const unsigned char *buf,unsigned int len,unsigned char sig[16]);
void MD5SigToString(unsigned char sig[16],char *str,int len);
@@ -49,4 +54,4 @@ void MD5SigToString(unsigned char sig[16],char *str,int len);
}
#endif
-#endif
+#endif /* !MD5_H */