Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages | Examples

md5.cpp File Reference

#include "ArExport.h"
#include "md5.h"
#include <string.h>

Go to the source code of this file.

Defines

#define BYTE_ORDER   0
#define F(x, y, z)   (((x) & (y)) | (~(x) & (z)))
#define G(x, y, z)   (((x) & (z)) | ((y) & ~(z)))
#define H(x, y, z)   ((x) ^ (y) ^ (z))
#define I(x, y, z)   ((y) ^ ((x) | ~(z)))
#define ROTATE_LEFT(x, n)   (((x) << (n)) | ((x) >> (32 - (n))))
#define SET(a, b, c, d, k, s, Ti)
#define SET(a, b, c, d, k, s, Ti)
#define SET(a, b, c, d, k, s, Ti)
#define SET(a, b, c, d, k, s, Ti)
#define T1   /* 0xd76aa478 */ (T_MASK ^ 0x28955b87)
#define T10   /* 0x8b44f7af */ (T_MASK ^ 0x74bb0850)
#define T11   /* 0xffff5bb1 */ (T_MASK ^ 0x0000a44e)
#define T12   /* 0x895cd7be */ (T_MASK ^ 0x76a32841)
#define T13   0x6b901122
#define T14   /* 0xfd987193 */ (T_MASK ^ 0x02678e6c)
#define T15   /* 0xa679438e */ (T_MASK ^ 0x5986bc71)
#define T16   0x49b40821
#define T17   /* 0xf61e2562 */ (T_MASK ^ 0x09e1da9d)
#define T18   /* 0xc040b340 */ (T_MASK ^ 0x3fbf4cbf)
#define T19   0x265e5a51
#define T2   /* 0xe8c7b756 */ (T_MASK ^ 0x173848a9)
#define T20   /* 0xe9b6c7aa */ (T_MASK ^ 0x16493855)
#define T21   /* 0xd62f105d */ (T_MASK ^ 0x29d0efa2)
#define T22   0x02441453
#define T23   /* 0xd8a1e681 */ (T_MASK ^ 0x275e197e)
#define T24   /* 0xe7d3fbc8 */ (T_MASK ^ 0x182c0437)
#define T25   0x21e1cde6
#define T26   /* 0xc33707d6 */ (T_MASK ^ 0x3cc8f829)
#define T27   /* 0xf4d50d87 */ (T_MASK ^ 0x0b2af278)
#define T28   0x455a14ed
#define T29   /* 0xa9e3e905 */ (T_MASK ^ 0x561c16fa)
#define T3   0x242070db
#define T30   /* 0xfcefa3f8 */ (T_MASK ^ 0x03105c07)
#define T31   0x676f02d9
#define T32   /* 0x8d2a4c8a */ (T_MASK ^ 0x72d5b375)
#define T33   /* 0xfffa3942 */ (T_MASK ^ 0x0005c6bd)
#define T34   /* 0x8771f681 */ (T_MASK ^ 0x788e097e)
#define T35   0x6d9d6122
#define T36   /* 0xfde5380c */ (T_MASK ^ 0x021ac7f3)
#define T37   /* 0xa4beea44 */ (T_MASK ^ 0x5b4115bb)
#define T38   0x4bdecfa9
#define T39   /* 0xf6bb4b60 */ (T_MASK ^ 0x0944b49f)
#define T4   /* 0xc1bdceee */ (T_MASK ^ 0x3e423111)
#define T40   /* 0xbebfbc70 */ (T_MASK ^ 0x4140438f)
#define T41   0x289b7ec6
#define T42   /* 0xeaa127fa */ (T_MASK ^ 0x155ed805)
#define T43   /* 0xd4ef3085 */ (T_MASK ^ 0x2b10cf7a)
#define T44   0x04881d05
#define T45   /* 0xd9d4d039 */ (T_MASK ^ 0x262b2fc6)
#define T46   /* 0xe6db99e5 */ (T_MASK ^ 0x1924661a)
#define T47   0x1fa27cf8
#define T48   /* 0xc4ac5665 */ (T_MASK ^ 0x3b53a99a)
#define T49   /* 0xf4292244 */ (T_MASK ^ 0x0bd6ddbb)
#define T5   /* 0xf57c0faf */ (T_MASK ^ 0x0a83f050)
#define T50   0x432aff97
#define T51   /* 0xab9423a7 */ (T_MASK ^ 0x546bdc58)
#define T52   /* 0xfc93a039 */ (T_MASK ^ 0x036c5fc6)
#define T53   0x655b59c3
#define T54   /* 0x8f0ccc92 */ (T_MASK ^ 0x70f3336d)
#define T55   /* 0xffeff47d */ (T_MASK ^ 0x00100b82)
#define T56   /* 0x85845dd1 */ (T_MASK ^ 0x7a7ba22e)
#define T57   0x6fa87e4f
#define T58   /* 0xfe2ce6e0 */ (T_MASK ^ 0x01d3191f)
#define T59   /* 0xa3014314 */ (T_MASK ^ 0x5cfebceb)
#define T6   0x4787c62a
#define T60   0x4e0811a1
#define T61   /* 0xf7537e82 */ (T_MASK ^ 0x08ac817d)
#define T62   /* 0xbd3af235 */ (T_MASK ^ 0x42c50dca)
#define T63   0x2ad7d2bb
#define T64   /* 0xeb86d391 */ (T_MASK ^ 0x14792c6e)
#define T7   /* 0xa8304613 */ (T_MASK ^ 0x57cfb9ec)
#define T8   /* 0xfd469501 */ (T_MASK ^ 0x02b96afe)
#define T9   0x698098d8
#define T_MASK   ((md5_word_t)~0)

Functions

void md5_append (md5_state_t *pms, const md5_byte_t *data, int nbytes)
void md5_finish (md5_state_t *pms, md5_byte_t digest[16])
void md5_init (md5_state_t *pms)
static void md5_process (md5_state_t *pms, const md5_byte_t *data)


Define Documentation

#define BYTE_ORDER   0
 

Definition at line 95 of file md5.cpp.

#define F x,
y,
 )     (((x) & (y)) | (~(x) & (z)))
 

#define G x,
y,
 )     (((x) & (z)) | ((y) & ~(z)))
 

#define H x,
y,
 )     ((x) ^ (y) ^ (z))
 

#define I x,
y,
 )     ((y) ^ ((x) | ~(z)))
 

#define ROTATE_LEFT x,
 )     (((x) << (n)) | ((x) >> (32 - (n))))
 

#define SET a,
b,
c,
d,
k,
s,
Ti   ) 
 

Value:

t = a + I(b,c,d) + X[k] + Ti;\
  a = ROTATE_LEFT(t, s) + b

#define SET a,
b,
c,
d,
k,
s,
Ti   ) 
 

Value:

t = a + H(b,c,d) + X[k] + Ti;\
  a = ROTATE_LEFT(t, s) + b

#define SET a,
b,
c,
d,
k,
s,
Ti   ) 
 

Value:

t = a + G(b,c,d) + X[k] + Ti;\
  a = ROTATE_LEFT(t, s) + b

#define SET a,
b,
c,
d,
k,
s,
Ti   ) 
 

Value:

t = a + F(b,c,d) + X[k] + Ti;\
  a = ROTATE_LEFT(t, s) + b

Referenced by md5_process().

#define T1   /* 0xd76aa478 */ (T_MASK ^ 0x28955b87)
 

Definition at line 99 of file md5.cpp.

Referenced by md5_process().

#define T10   /* 0x8b44f7af */ (T_MASK ^ 0x74bb0850)
 

Definition at line 108 of file md5.cpp.

Referenced by md5_process().

#define T11   /* 0xffff5bb1 */ (T_MASK ^ 0x0000a44e)
 

Definition at line 109 of file md5.cpp.

Referenced by md5_process().

#define T12   /* 0x895cd7be */ (T_MASK ^ 0x76a32841)
 

Definition at line 110 of file md5.cpp.

Referenced by md5_process().

#define T13   0x6b901122
 

Definition at line 111 of file md5.cpp.

Referenced by md5_process().

#define T14   /* 0xfd987193 */ (T_MASK ^ 0x02678e6c)
 

Definition at line 112 of file md5.cpp.

Referenced by md5_process().

#define T15   /* 0xa679438e */ (T_MASK ^ 0x5986bc71)
 

Definition at line 113 of file md5.cpp.

Referenced by md5_process().

#define T16   0x49b40821
 

Definition at line 114 of file md5.cpp.

Referenced by md5_process().

#define T17   /* 0xf61e2562 */ (T_MASK ^ 0x09e1da9d)
 

Definition at line 115 of file md5.cpp.

Referenced by md5_process().

#define T18   /* 0xc040b340 */ (T_MASK ^ 0x3fbf4cbf)
 

Definition at line 116 of file md5.cpp.

Referenced by md5_process().

#define T19   0x265e5a51
 

Definition at line 117 of file md5.cpp.

Referenced by md5_process().

#define T2   /* 0xe8c7b756 */ (T_MASK ^ 0x173848a9)
 

Definition at line 100 of file md5.cpp.

Referenced by md5_process().

#define T20   /* 0xe9b6c7aa */ (T_MASK ^ 0x16493855)
 

Definition at line 118 of file md5.cpp.

Referenced by md5_process().

#define T21   /* 0xd62f105d */ (T_MASK ^ 0x29d0efa2)
 

Definition at line 119 of file md5.cpp.

Referenced by md5_process().

#define T22   0x02441453
 

Definition at line 120 of file md5.cpp.

Referenced by md5_process().

#define T23   /* 0xd8a1e681 */ (T_MASK ^ 0x275e197e)
 

Definition at line 121 of file md5.cpp.

Referenced by md5_process().

#define T24   /* 0xe7d3fbc8 */ (T_MASK ^ 0x182c0437)
 

Definition at line 122 of file md5.cpp.

Referenced by md5_process().

#define T25   0x21e1cde6
 

Definition at line 123 of file md5.cpp.

Referenced by md5_process().

#define T26   /* 0xc33707d6 */ (T_MASK ^ 0x3cc8f829)
 

Definition at line 124 of file md5.cpp.

Referenced by md5_process().

#define T27   /* 0xf4d50d87 */ (T_MASK ^ 0x0b2af278)
 

Definition at line 125 of file md5.cpp.

Referenced by md5_process().

#define T28   0x455a14ed
 

Definition at line 126 of file md5.cpp.

Referenced by md5_process().

#define T29   /* 0xa9e3e905 */ (T_MASK ^ 0x561c16fa)
 

Definition at line 127 of file md5.cpp.

Referenced by md5_process().

#define T3   0x242070db
 

Definition at line 101 of file md5.cpp.

Referenced by md5_process().

#define T30   /* 0xfcefa3f8 */ (T_MASK ^ 0x03105c07)
 

Definition at line 128 of file md5.cpp.

Referenced by md5_process().

#define T31   0x676f02d9
 

Definition at line 129 of file md5.cpp.

Referenced by md5_process().

#define T32   /* 0x8d2a4c8a */ (T_MASK ^ 0x72d5b375)
 

Definition at line 130 of file md5.cpp.

Referenced by md5_process().

#define T33   /* 0xfffa3942 */ (T_MASK ^ 0x0005c6bd)
 

Definition at line 131 of file md5.cpp.

Referenced by md5_process().

#define T34   /* 0x8771f681 */ (T_MASK ^ 0x788e097e)
 

Definition at line 132 of file md5.cpp.

Referenced by md5_process().

#define T35   0x6d9d6122
 

Definition at line 133 of file md5.cpp.

Referenced by md5_process().

#define T36   /* 0xfde5380c */ (T_MASK ^ 0x021ac7f3)
 

Definition at line 134 of file md5.cpp.

Referenced by md5_process().

#define T37   /* 0xa4beea44 */ (T_MASK ^ 0x5b4115bb)
 

Definition at line 135 of file md5.cpp.

Referenced by md5_process().

#define T38   0x4bdecfa9
 

Definition at line 136 of file md5.cpp.

Referenced by md5_process().

#define T39   /* 0xf6bb4b60 */ (T_MASK ^ 0x0944b49f)
 

Definition at line 137 of file md5.cpp.

Referenced by md5_process().

#define T4   /* 0xc1bdceee */ (T_MASK ^ 0x3e423111)
 

Definition at line 102 of file md5.cpp.

Referenced by md5_process().

#define T40   /* 0xbebfbc70 */ (T_MASK ^ 0x4140438f)
 

Definition at line 138 of file md5.cpp.

Referenced by md5_process().

#define T41   0x289b7ec6
 

Definition at line 139 of file md5.cpp.

Referenced by md5_process().

#define T42   /* 0xeaa127fa */ (T_MASK ^ 0x155ed805)
 

Definition at line 140 of file md5.cpp.

Referenced by md5_process().

#define T43   /* 0xd4ef3085 */ (T_MASK ^ 0x2b10cf7a)
 

Definition at line 141 of file md5.cpp.

Referenced by md5_process().

#define T44   0x04881d05
 

Definition at line 142 of file md5.cpp.

Referenced by md5_process().

#define T45   /* 0xd9d4d039 */ (T_MASK ^ 0x262b2fc6)
 

Definition at line 143 of file md5.cpp.

Referenced by md5_process().

#define T46   /* 0xe6db99e5 */ (T_MASK ^ 0x1924661a)
 

Definition at line 144 of file md5.cpp.

Referenced by md5_process().

#define T47   0x1fa27cf8
 

Definition at line 145 of file md5.cpp.

Referenced by md5_process().

#define T48   /* 0xc4ac5665 */ (T_MASK ^ 0x3b53a99a)
 

Definition at line 146 of file md5.cpp.

Referenced by md5_process().

#define T49   /* 0xf4292244 */ (T_MASK ^ 0x0bd6ddbb)
 

Definition at line 147 of file md5.cpp.

Referenced by md5_process().

#define T5   /* 0xf57c0faf */ (T_MASK ^ 0x0a83f050)
 

Definition at line 103 of file md5.cpp.

Referenced by md5_process().

#define T50   0x432aff97
 

Definition at line 148 of file md5.cpp.

Referenced by md5_process().

#define T51   /* 0xab9423a7 */ (T_MASK ^ 0x546bdc58)
 

Definition at line 149 of file md5.cpp.

Referenced by md5_process().

#define T52   /* 0xfc93a039 */ (T_MASK ^ 0x036c5fc6)
 

Definition at line 150 of file md5.cpp.

Referenced by md5_process().

#define T53   0x655b59c3
 

Definition at line 151 of file md5.cpp.

Referenced by md5_process().

#define T54   /* 0x8f0ccc92 */ (T_MASK ^ 0x70f3336d)
 

Definition at line 152 of file md5.cpp.

Referenced by md5_process().

#define T55   /* 0xffeff47d */ (T_MASK ^ 0x00100b82)
 

Definition at line 153 of file md5.cpp.

Referenced by md5_process().

#define T56   /* 0x85845dd1 */ (T_MASK ^ 0x7a7ba22e)
 

Definition at line 154 of file md5.cpp.

Referenced by md5_process().

#define T57   0x6fa87e4f
 

Definition at line 155 of file md5.cpp.

Referenced by md5_process().

#define T58   /* 0xfe2ce6e0 */ (T_MASK ^ 0x01d3191f)
 

Definition at line 156 of file md5.cpp.

Referenced by md5_process().

#define T59   /* 0xa3014314 */ (T_MASK ^ 0x5cfebceb)
 

Definition at line 157 of file md5.cpp.

Referenced by md5_process().

#define T6   0x4787c62a
 

Definition at line 104 of file md5.cpp.

Referenced by md5_process().

#define T60   0x4e0811a1
 

Definition at line 158 of file md5.cpp.

Referenced by md5_process().

#define T61   /* 0xf7537e82 */ (T_MASK ^ 0x08ac817d)
 

Definition at line 159 of file md5.cpp.

Referenced by md5_process().

#define T62   /* 0xbd3af235 */ (T_MASK ^ 0x42c50dca)
 

Definition at line 160 of file md5.cpp.

Referenced by md5_process().

#define T63   0x2ad7d2bb
 

Definition at line 161 of file md5.cpp.

Referenced by md5_process().

#define T64   /* 0xeb86d391 */ (T_MASK ^ 0x14792c6e)
 

Definition at line 162 of file md5.cpp.

Referenced by md5_process().

#define T7   /* 0xa8304613 */ (T_MASK ^ 0x57cfb9ec)
 

Definition at line 105 of file md5.cpp.

Referenced by md5_process().

#define T8   /* 0xfd469501 */ (T_MASK ^ 0x02b96afe)
 

Definition at line 106 of file md5.cpp.

Referenced by md5_process().

#define T9   0x698098d8
 

Definition at line 107 of file md5.cpp.

Referenced by md5_process().

#define T_MASK   ((md5_word_t)~0)
 

Definition at line 98 of file md5.cpp.

Referenced by md5_init().


Function Documentation

void md5_append md5_state_t pms,
const md5_byte_t data,
int  nbytes
 

Definition at line 357 of file md5.cpp.

References md5_process().

Referenced by ArServerUserInfo::matchUserPassword(), md5_finish(), and ArClientBase::processPacket().

void md5_finish md5_state_t pms,
md5_byte_t  digest[16]
 

Definition at line 395 of file md5.cpp.

References md5_append().

Referenced by ArServerUserInfo::matchUserPassword(), and ArClientBase::processPacket().

void md5_init md5_state_t pms  ) 
 

Definition at line 347 of file md5.cpp.

References T_MASK.

Referenced by ArServerUserInfo::matchUserPassword(), and ArClientBase::processPacket().

static void md5_process md5_state_t pms,
const md5_byte_t data
[static]
 

Definition at line 166 of file md5.cpp.

References SET, T1, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T2, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T3, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T4, T40, T41, T42, T43, T44, T45, T46, T47, T48, T49, T5, T50, T51, T52, T53, T54, T55, T56, T57, T58, T59, T6, T60, T61, T62, T63, T64, T7, T8, and T9.

Referenced by md5_append().


Generated on Tue Feb 20 10:51:50 2007 for ArNetworking by  doxygen 1.4.0