HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
UT_MD5.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: UT_MD5.h
7  *
8  * COMMENTS:
9  * Modified by Side Effects Software Inc. to add an easy-to-use
10  * interface, to port to 64-bit platforms, and to add base-64 output.
11  *
12  * See RFC 1321 for information on how the algorithm works.
13  */
14 
15 /*
16  **********************************************************************
17  ** RSA Data Security, Inc. MD5 Message Digest Algorithm **
18  ** Created: 2/17/90 RLR **
19  ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version **
20  ** Revised (for MD5): RLR 4/27/91 **
21  ** -- G modified to have y&~z instead of y&z **
22  ** -- FF, GG, HH modified to add in last register done **
23  ** -- Access pattern: round 2 works mod 5, round 3 works mod 3 **
24  ** -- distinct additive constant for each step **
25  ** -- round 4 added, working mod 7 **
26  **********************************************************************
27  */
28 
29 /*
30  **********************************************************************
31  ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
32  ** **
33  ** License to copy and use this software is granted provided that **
34  ** it is identified as the "RSA Data Security, Inc. MD5 Message **
35  ** Digest Algorithm" in all material mentioning or referencing this **
36  ** software or this function. **
37  ** **
38  ** License is also granted to make and use derivative works **
39  ** provided that such works are identified as "derived from the RSA **
40  ** Data Security, Inc. MD5 Message Digest Algorithm" in all **
41  ** material mentioning or referencing the derived work. **
42  ** **
43  ** RSA Data Security, Inc. makes no representations concerning **
44  ** either the merchantability of this software or the suitability **
45  ** of this software for any particular purpose. It is provided "as **
46  ** is" without express or implied warranty of any kind. **
47  ** **
48  ** These notices must be retained in any copies of any part of this **
49  ** documentation and/or software. **
50  **********************************************************************
51  */
52 
53 #ifndef __UT_MD5_h__
54 #define __UT_MD5_h__
55 
56 #include "UT_API.h"
57 class UT_WorkBuffer;
58 
59 // Return a 32-character null-terminated base-16 string representing the
60 // 128-bit message digest of the given string.
61 UT_API extern void UT_md5(const char *input, char result[33]);
62 UT_API extern void UT_md5(const char *input, UT_WorkBuffer &result);
63 
64 // The version returns a 22-character base-64 string of the message digest.
65 UT_API extern void UT_md5_base64(const char *input, char result[23]);
66 UT_API extern void UT_md5_base64(const char *input, UT_WorkBuffer &result);
67 
68 #endif
#define UT_API
Definition: UT_API.h:12
UT_API void UT_md5_base64(const char *input, char result[23])
UT_API void UT_md5(const char *input, char result[33])