62 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
64 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
65 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
66 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
67 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
68 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
69 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
73 #define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
74 #define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
75 #define H(x, y, z) ((x) ^ (y) ^ (z))
76 #define I(x, y, z) ((y) ^ ((x) | (~z)))
79 #define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
84 #define FF(a, b, c, d, x, s, ac) \
85 {(a) += F ((b), (c), (d)) + (x) + (MD5UINT4)(ac); \
86 (a) = ROTATE_LEFT ((a), (s)); \
89 #define GG(a, b, c, d, x, s, ac) \
90 {(a) += G ((b), (c), (d)) + (x) + (MD5UINT4)(ac); \
91 (a) = ROTATE_LEFT ((a), (s)); \
94 #define HH(a, b, c, d, x, s, ac) \
95 {(a) += H ((b), (c), (d)) + (x) + (MD5UINT4)(ac); \
96 (a) = ROTATE_LEFT ((a), (s)); \
99 #define II(a, b, c, d, x, s, ac) \
100 {(a) += I ((b), (c), (d)) + (x) + (MD5UINT4)(ac); \
101 (a) = ROTATE_LEFT ((a), (s)); \
112 if (mdContext==
NULL)
return;
114 mdContext->
i[0] = mdContext->
i[1] = (
MD5UINT4) 0;
138 if (mdContext ==
NULL)
return;
139 if (inBuf ==
NULL || inLen < 1)
return;
144 mdi = (
int) ((mdContext->
i[0] >> 3) & 0x3F);
149 if ((mdContext->
i[0] + ((
MD5UINT4) inLen << 3)) < mdContext->
i[0])
151 mdContext->
i[0] += ((
MD5UINT4) inLen << 3);
152 mdContext->
i[1] += ((
MD5UINT4) inLen >> 29);
158 mdContext->
in[mdi++] = *inBuf++;
164 for (i = 0, ii = 0; i < 16; i++, ii += 4)
165 in[i] = (((
MD5UINT4) mdContext->
in[ii + 3]) << 24) |
187 if (mdContext ==
NULL)
return;
192 in[14] = mdContext->
i[0];
193 in[15] = mdContext->
i[1];
198 mdi = (
int) ((mdContext->
i[0] >> 3) & 0x3F);
203 padLen = (mdi < 56) ? (56 - mdi) : (120 - mdi);
209 for (i = 0, ii = 0; i < 14; i++, ii += 4)
210 in[i] = (((
MD5UINT4) mdContext->
in[ii + 3]) << 24) |
219 for (i = 0, ii = 0; i < 4; i++, ii += 4) {
220 mdContext->
digest[ii] = (
unsigned char) (mdContext->
buf[i] & 0xFF);
221 mdContext->
digest[ii + 1] =
222 (
unsigned char) ((mdContext->
buf[i] >> 8) & 0xFF);
223 mdContext->
digest[ii + 2] =
224 (
unsigned char) ((mdContext->
buf[i] >> 16) & 0xFF);
225 mdContext->
digest[ii + 3] =
226 (
unsigned char) ((mdContext->
buf[i] >> 24) & 0xFF);
234 MD5UINT4 a = buf[0],
b = buf[1],
c = buf[2],
d = buf[3];
243 FF(a, b, c, d, in[0],
S11, 3614090360
u);
244 FF(d, a, b, c, in[1],
S12, 3905402710
u);
245 FF(c, d, a, b, in[2],
S13, 606105819
u);
246 FF(b, c, d, a, in[3],
S14, 3250441966
u);
247 FF(a, b, c, d, in[4],
S11, 4118548399
u);
248 FF(d, a, b, c, in[5],
S12, 1200080426
u);
249 FF(c, d, a, b, in[6],
S13, 2821735955
u);
250 FF(b, c, d, a, in[7],
S14, 4249261313
u);
251 FF(a, b, c, d, in[8],
S11, 1770035416
u);
252 FF(d, a, b, c, in[9],
S12, 2336552879
u);
253 FF(c, d, a, b, in[10],
S13, 4294925233
u);
254 FF(b, c, d, a, in[11],
S14, 2304563134
u);
255 FF(a, b, c, d, in[12],
S11, 1804603682
u);
256 FF(d, a, b, c, in[13],
S12, 4254626195
u);
257 FF(c, d, a, b, in[14],
S13, 2792965006
u);
258 FF(b, c, d, a, in[15],
S14, 1236535329
u);
267 GG(a, b, c, d, in[1],
S21, 4129170786
u);
268 GG(d, a, b, c, in[6],
S22, 3225465664
u);
269 GG(c, d, a, b, in[11],
S23, 643717713
u);
270 GG(b, c, d, a, in[0],
S24, 3921069994
u);
271 GG(a, b, c, d, in[5],
S21, 3593408605
u);
272 GG(d, a, b, c, in[10],
S22, 38016083
u);
273 GG(c, d, a, b, in[15],
S23, 3634488961
u);
274 GG(b, c, d, a, in[4],
S24, 3889429448
u);
275 GG(a, b, c, d, in[9],
S21, 568446438
u);
276 GG(d, a, b, c, in[14],
S22, 3275163606
u);
277 GG(c, d, a, b, in[3],
S23, 4107603335
u);
278 GG(b, c, d, a, in[8],
S24, 1163531501
u);
279 GG(a, b, c, d, in[13],
S21, 2850285829
u);
280 GG(d, a, b, c, in[2],
S22, 4243563512
u);
281 GG(c, d, a, b, in[7],
S23, 1735328473
u);
282 GG(b, c, d, a, in[12],
S24, 2368359562
u);
291 HH(a, b, c, d, in[5],
S31, 4294588738
u);
292 HH(d, a, b, c, in[8],
S32, 2272392833
u);
293 HH(c, d, a, b, in[11],
S33, 1839030562
u);
294 HH(b, c, d, a, in[14],
S34, 4259657740
u);
295 HH(a, b, c, d, in[1],
S31, 2763975236
u);
296 HH(d, a, b, c, in[4],
S32, 1272893353
u);
297 HH(c, d, a, b, in[7],
S33, 4139469664
u);
298 HH(b, c, d, a, in[10],
S34, 3200236656
u);
299 HH(a, b, c, d, in[13],
S31, 681279174
u);
300 HH(d, a, b, c, in[0],
S32, 3936430074
u);
301 HH(c, d, a, b, in[3],
S33, 3572445317
u);
302 HH(b, c, d, a, in[6],
S34, 76029189
u);
303 HH(a, b, c, d, in[9],
S31, 3654602809
u);
304 HH(d, a, b, c, in[12],
S32, 3873151461
u);
305 HH(c, d, a, b, in[15],
S33, 530742520
u);
306 HH(b, c, d, a, in[2],
S34, 3299628645
u);
315 II(a, b, c, d, in[0],
S41, 4096336452
u);
316 II(d, a, b, c, in[7],
S42, 1126891415
u);
317 II(c, d, a, b, in[14],
S43, 2878612391
u);
318 II(b, c, d, a, in[5],
S44, 4237533241
u);
319 II(a, b, c, d, in[12],
S41, 1700485571
u);
320 II(d, a, b, c, in[3],
S42, 2399980690
u);
321 II(c, d, a, b, in[10],
S43, 4293915773
u);
322 II(b, c, d, a, in[1],
S44, 2240044497
u);
323 II(a, b, c, d, in[8],
S41, 1873313359
u);
324 II(d, a, b, c, in[15],
S42, 4264355552
u);
325 II(c, d, a, b, in[6],
S43, 2734768916
u);
326 II(b, c, d, a, in[13],
S44, 1309151649
u);
327 II(a, b, c, d, in[4],
S41, 4149444226
u);
328 II(d, a, b, c, in[11],
S42, 3174756917
u);
329 II(c, d, a, b, in[2],
S43, 718787259
u);
330 II(b, c, d, a, in[9],
S44, 3951481745
u);
static unsigned char MD5PADDING[64]
GLboolean GLboolean GLboolean GLboolean a
#define HH(a, b, c, d, x, s, ac)
return Display return Display Bool Bool int d
static void SDLTest_Md5Transform(MD5UINT4 *buf, MD5UINT4 *in)
#define II(a, b, c, d, x, s, ac)
void SDLTest_Md5Update(SDLTest_Md5Context *mdContext, unsigned char *inBuf, unsigned int inLen)
#define GG(a, b, c, d, x, s, ac)
void SDLTest_Md5Init(SDLTest_Md5Context *mdContext)
#define FF(a, b, c, d, x, s, ac)
unsigned long int MD5UINT4
GLenum GLuint GLsizei const GLchar * buf
void SDLTest_Md5Final(SDLTest_Md5Context *mdContext)
GLdouble GLdouble GLdouble b