diff options
author | Andres Mejia <mcitadel@gmail.com> | 2010-06-14 01:27:33 -0400 |
---|---|---|
committer | John Koleszar <jkoleszar@google.com> | 2010-06-14 08:48:22 -0400 |
commit | 1856f2213dae9fefaad0906011de31917853cffc (patch) | |
tree | 62008ba55b767cf4926943203714e9a8eb489c7b /md5_utils.h | |
parent | 900d0548db717719529778f7f13ce68ffc2f89d4 (diff) | |
download | libvpx-1856f2213dae9fefaad0906011de31917853cffc.tar.gz |
Use public domain implementation for MD5 algorithm
The RSA Data Security, Inc. implementation license bears a requirement
similar to the old problematic BSD license with advertising clause.
Change-Id: I877b71ff0548934b1c4fd87245696f53dedbdf26
Diffstat (limited to 'md5_utils.h')
-rw-r--r-- | md5_utils.h | 71 |
1 files changed, 34 insertions, 37 deletions
diff --git a/md5_utils.h b/md5_utils.h index d1a981bb7..5ca1b5f28 100644 --- a/md5_utils.h +++ b/md5_utils.h @@ -1,45 +1,42 @@ /* - * Copyright (c) 2010 The VP8 project authors. All Rights Reserved. + * 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. * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. + * 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 + * - 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. +#ifndef MD5_H +#define MD5_H -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. +#define md5byte unsigned char +#define UWORD32 unsigned int -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 "vpx/vpx_integer.h" - -/* MD5 context. */ -typedef struct +typedef struct MD5Context MD5Context; +struct MD5Context { - uint32_t state[4]; /* state (ABCD) */ - uint32_t count[2]; /* number of bits, modulo 2^64 (lsb first) */ - uint8_t buffer[64]; /* input buffer */ -} md5_ctx_t; + 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 MD5Transform(UWORD32 buf[4], UWORD32 const in[16]); -void md5_init(md5_ctx_t *ctx); -void md5_update(md5_ctx_t *ctx, const uint8_t *buf, unsigned int len); -void md5_finalize(md5_ctx_t *ctx, uint8_t md5[16]); +#endif /* !MD5_H */ |