diff options
author | Guido van Rossum <guido@python.org> | 1993-11-01 16:19:05 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1993-11-01 16:19:05 (GMT) |
commit | 13ecc7a1a2ea79d76533cd55210d4f732c7d324a (patch) | |
tree | ef9c9962def421d5699a9696976abe8ae0871440 /Modules/md5.h | |
parent | 74901d589d8ee4c29fddda7392100ae525ccc412 (diff) | |
download | cpython-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.h | 69 |
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 *)); |