diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 2004-04-28 16:46:04 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 2004-04-28 16:46:04 +0000 |
commit | df1bf813f00c77b21e3e8934986dad98c3d803e2 (patch) | |
tree | d31265e16bdae01b654ba5cec8e8ef96340d32c3 /include/md5.h | |
parent | 2412efabaebeb6717fe8b02a364d700af20657da (diff) |
PD version of md5(3) based on code written by Colin Plumb.
Diffstat (limited to 'include/md5.h')
-rw-r--r-- | include/md5.h | 57 |
1 files changed, 22 insertions, 35 deletions
diff --git a/include/md5.h b/include/md5.h index 2c419aeb211..36e94e5a750 100644 --- a/include/md5.h +++ b/include/md5.h @@ -1,55 +1,42 @@ -/* MD5.H - header file for MD5C.C - * $OpenBSD: md5.h,v 1.11 2003/10/07 22:17:27 avsm Exp $ - */ - -/* 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. +/* $OpenBSD: md5.h,v 1.12 2004/04/28 16:46:02 millert Exp $ */ + +/* + * This code implements 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. */ #ifndef _MD5_H_ #define _MD5_H_ -/* MD5 context. */ typedef struct MD5Context { - u_int32_t state[4]; /* state (ABCD) */ - u_int64_t count; /* number of bits, modulo 2^64 */ - unsigned char buffer[64]; /* input buffer */ + u_int32_t buf[4]; /* state */ + u_int32_t bits[2]; /* number of bits, mod 2^64 */ + unsigned char in[64]; /* input buffer */ } MD5_CTX; #include <sys/cdefs.h> __BEGIN_DECLS -void MD5Init(MD5_CTX *); -void MD5Update(MD5_CTX *, const unsigned char *, size_t) +void MD5Init(MD5_CTX *); +void MD5Update(MD5_CTX *, const u_int8_t *, size_t) __attribute__((__bounded__(__string__,2,3))); -void MD5Final(unsigned char [16], MD5_CTX *) +void MD5Final(u_int8_t [16], MD5_CTX *) __attribute__((__bounded__(__minbytes__,1,16))); -void MD5Transform(u_int32_t [4], const unsigned char [64]) +void MD5Transform(u_int32_t [4], const u_int8_t [64]) __attribute__((__bounded__(__minbytes__,1,4))) __attribute__((__bounded__(__minbytes__,2,64))); -char * MD5End(MD5_CTX *, char *) +char *MD5End(MD5_CTX *, char [33]) __attribute__((__bounded__(__minbytes__,2,33))); -char * MD5File(char *, char *) +char *MD5File(char *, char [33]) __attribute__((__bounded__(__minbytes__,2,33))); -char * MD5Data(const unsigned char *, size_t, char *) +char *MD5Data(const u_int8_t *, size_t, char [33]) __attribute__((__bounded__(__string__,1,2))) __attribute__((__bounded__(__minbytes__,3,33))); __END_DECLS |