MD2
MD4
MD5
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/md2.h>
#include <openssl/md4.h>
#include <openssl/md5.h>
#include <openssl/crypto.h>
static char *s1 = "abc";
static int s1_len = 3;
char *ret_md2 = "da853b0d3f88d99b30283a69e6ded6bb";
char *ret_md4 = "a448017aaf21d8525fc10ae87aa6729d";
char *ret_md5 = "900150983cd24fb0d6963f7d28e17f72";
static char *pt(unsigned char *md, int len)
{
int i;
static char buf[256];
for (i = 0; i < len; i++)
sprintf(&(buf[i * 2]), "%02x", md[i]);
return (buf);
}
void md2(void)
{
MD2_CTX c;
unsigned char md[MD2_DIGEST_LENGTH];
char *p;
MD2((unsigned char *)s1, s1_len, md);
p = pt(md, MD2_DIGEST_LENGTH);
printf("MD2 : %s\n", p);
MD2_Init(&c);
MD2_Update(&c, (un