Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Community > Tech
 
[C] md5 hash
Clicca QUI per vedere il messaggio nel forum
fabpicca
Come faccio a ottenere l'hash md5 di una stringa in C? che librerie servono? avete qualche esempio?


EDIT: trovato...lo posto nel caso qualcuno fosse interessato:

code:
#include <stdio.h> #include <openssl/md5.h> int main(int argc, char *argv[]) { MD5_CTX md; unsigned char md5buf[32]; unsigned char output[33]; int i; if (argc != 2) { fprintf(stderr, "Usage: %s blablabla\n", argv[0]); exit(1); } memset(md5buf, 0, sizeof(md5buf)); memset(output, 0, sizeof(output)); MD5_Init(&md); MD5_Update(&md, argv[1], strlen(argv[1])); MD5_Final(md5buf, &md); for (i = 15; i >= 0; i--) { md5buf[i * 2 + 1] = (md5buf[i] & 0xf) + '0'; md5buf[i * 2] = (md5buf[i] >> 4) + '0'; } for (i = 0; i < 32; i++) if (md5buf[i] > '9') md5buf[i] += 0x27; strncpy(output, md5buf, 32); printf("[%s] = %s\n", argv[1], output); return 0; }

fabpicca
ho cantato vittoria troppo presto , qualcuno sa perchè nonostante nel header md5.h siano indicate le funzioni MD5_* mi da un errore di reference?

giulio
Originally posted by fabpicca
ho cantato vittoria troppo presto , qualcuno sa perchè nonostante nel header md5.h siano indicate le funzioni MD5_* mi da un errore di reference?


Nel .h di solito ci sono solo le proto delle funzioni, ma non c'e' il corpo, che sta in una libreria.
Prova ad aggiungere il flag -lssl alla compilazione.

fabpicca
Originally posted by giulio
Nel .h di solito ci sono solo le proto delle funzioni, ma non c'e' il corpo, che sta in una libreria.
Prova ad aggiungere il flag -lssl alla compilazione.


ecco, fantastico, ora compila!
grazie mille!

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate