summaryrefslogtreecommitdiffstats
path: root/Modules/md5.h
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1993-11-01 16:19:05 (GMT)
committerGuido van Rossum <guido@python.org>1993-11-01 16:19:05 (GMT)
commit13ecc7a1a2ea79d76533cd55210d4f732c7d324a (patch)
treeef9c9962def421d5699a9696976abe8ae0871440 /Modules/md5.h
parent74901d589d8ee4c29fddda7392100ae525ccc412 (diff)
downloadcpython-13ecc7a1a2ea79d76533cd55210d4f732c7d324a.zip
cpython-13ecc7a1a2ea79d76533cd55210d4f732c7d324a.tar.gz
cpython-13ecc7a1a2ea79d76533cd55210d4f732c7d324a.tar.bz2
Simplify life for md5: include (slightly modified) md5.h and md5c.c
from RFC 1321 here, and point to that RFC instead of a non-existant incompatible file on rsa.com.
Diffstat (limited to 'Modules/md5.h')
-rw-r--r--Modules/md5.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/Modules/md5.h b/Modules/md5.h
new file mode 100644
index 0000000..5c01861
--- /dev/null
+++ b/Modules/md5.h
@@ -0,0 +1,69 @@
+/* MD5.H - header file for MD5C.C
+ */
+
+/* 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.
+ */
+
+/* ========== include global.h ========== */
+/* GLOBAL.H - RSAREF types and constants
+ */
+
+/* PROTOTYPES should be set to one if and only if the compiler supports
+ function argument prototyping.
+The following makes PROTOTYPES default to 0 if it has not already
+ been defined with C compiler flags.
+ */
+#ifndef PROTOTYPES
+#define PROTOTYPES 0
+#endif
+
+/* POINTER defines a generic pointer type */
+typedef unsigned char *POINTER;
+
+/* UINT2 defines a two byte word */
+typedef unsigned short int UINT2;
+
+/* UINT4 defines a four byte word */
+typedef unsigned long int UINT4;
+
+/* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
+If using PROTOTYPES, then PROTO_LIST returns the list, otherwise it
+ returns an empty list.
+ */
+#if PROTOTYPES
+#define PROTO_LIST(list) list
+#else
+#define PROTO_LIST(list) ()
+#endif
+/* ========== End global.h; continue md5.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 PROTO_LIST ((MD5_CTX *));
+void MD5Update PROTO_LIST
+ ((MD5_CTX *, unsigned char *, unsigned int));
+void MD5Final PROTO_LIST ((unsigned char [16], MD5_CTX *));