« Précédent Suivant »

Faire un hash md5 d'un string en C

Le 15/05/2011 à 10:42

Petit aide mémoire à moi même, et pour les gens qui en auraient besoin un jour. Voici une fonction C bien pratique pour générer le hash md5 d'une chaîne de caractères en C. Il y a juste besoin de linker openssl (-lssl) lors de la compilation.

#include <stdio.h>
#include <openssl/md5.h>
#include <string.h>

void md5_hash_from_string (char *string, char *hash)
{
    int i;
    char unsigned md5[MD5_DIGEST_LENGTH] = {0};

    MD5((const unsigned char *)string, strlen(string), md5);

    for (i=0; i < MD5_DIGEST_LENGTH; i++) {
        sprintf(hash + 2*i, "%02x", md5[i]);
    }
}

int main()
{
    char string[255] = "Hello World";
    char md5_hash[2*MD5_DIGEST_LENGTH+1] = "";
    md5_hash_from_string(string, md5_hash);
    printf("%s\n", md5_hash);
    return 0;
}
« Précédent Suivant »
Commentaires
blog comments powered by Disqus