#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/md5.h>
void calculate_md5(const char *input) {
MD5_CTX context;
MD5_Init(&context);
MD5_Update(&context, input, strlen(input));
unsigned char md5sum[MD5_DIGEST_LENGTH];
MD5_Final(md5sum, &context);
for (int i = 0; i < MD5_DIGEST_LENGTH; i++) {
printf("%02x", md5sum[i]);
}
printf("\n");
}
int main(int argc, char *argv[]) {
if (argc != 2) {
fprintf(stderr, "Usage: %s <string>\n", argv[0]);
return EXIT_FAILURE;
}
calculate_md5(argv[1]);
return EXIT_SUCCESS;
}