- From: Paul Hethmon <phethmon@utk.edu>
- Date: Sun, 1 Dec 1996 15:47:01 EST
- To: WWW-Talk <www-talk@w3.org>
Hi, I've been implementing "draft-ietf-http-digest-aa-05.txt" and run into a couple of problems. I've done MD5 in things like POP3 APOP before, so I don't think that is the problem, but when I try to run the example in section 2.4 through my code I don't get the right answer. The code is: int main(int argc, char *argv[]) { char szNonce[] = "dcd98b7102dd2f0e8b11d0f600bfb0c093", szRealm[] = "testrealm@host.com", szUserName[] = "Mufasa", szPass[] = "CircleOfLife", szUri[] = "/dir/index.html", szMethod[] = "GET", szResp[] = "e966c932a9242554e42c8ee200cec7f6", szBuf[256], szBufr[256], szA1[256], szA1r[256], szA2[256], szA2r[256]; sprintf(szA1, "%s:%s:%s", szUserName, szRealm, szPass); MD5Encode(szA1, szA1r); sprintf(szA2, "%s:%s", szMethod, szUri); MD5Encode(szA2, szA2r); sprintf(szBuf, "%s:%s:%s", szA1r, szNonce, szA2r); MD5Encode(szBuf, szBufr); printf("spec = %s\n", szResp); printf("calc = %s\n", szBufr); return 0; } void MD5Encode(char *szSrc, char *szResult) { MD5_CTX context; unsigned char digest[16]; unsigned int len = strlen (szSrc); unsigned int i; char szTmp[32]; MD5Init (&context); MD5Update (&context, (unsigned char *)szSrc, len); MD5Final (digest, &context); memset(szResult, 0, 256); for (i = 0; i < 16; i++) { sprintf(szTmp, "%02x", digest[i]); strcat(szResult, szTmp); } } I've just hardcoded the values from the spec in for right now and what I get out is: spec = e966c932a9242554e42c8ee200cec7f6 calc = 1949323746fe6a43ef61f9606e7febea The MD5 code is straight from the RFC. Is there something I'm missing here? I've looked through the Apache code for it and it seems to perform the same function. Any help appreciated. thanks, Paul Paul Hethmon phethmon@utk.edu phethmon@hethmon.com ---------------------------------------------------------- Inet.Mail for OS/2 -- Internet Mail Server ---------------------------------------------------------- www.hethmon.com -- ftp.hethmon.com ----------------------------------------------------------
Received on Sunday, 1 December 1996 15:45:51 UTC