| 297 | |
| 298 | |
| 299 | char * md5sum(const void * data, unsigned long size) |
| 300 | { |
| 301 | unsigned char digest[16]; |
| 302 | int i; |
| 303 | char * md5string = (char*)malloc(33*sizeof(char)); |
| 304 | MD5_CTX context; |
| 305 | MD5_Init(&context); |
| 306 | MD5_Update(&context, data, size); |
| 307 | MD5_Final(digest, &context); |
| 308 | |
| 309 | for(i = 0; i < 16; ++i) |
| 310 | sprintf(&md5string[i*2], "%02x", (unsigned int)digest[i]); |
| 311 | |
| 312 | return (char*) md5string; |
| 313 | } |
| 314 | #endif |
| 315 | |
| 316 | /* |
no test coverage detected