5/5 (4 avis)
Vue 10 115 fois - Téléchargée 1 004 fois
char *md5_str(char *p) { md5_state_t state; md5_byte_t digest[16]; char *hex_output = (char *)malloc(33); int di; //hashage md5_init(&state); md5_append(&state, p, strlen(p)); md5_finish(&state, digest); //output for (di = 0; di < 16; di++){ sprintf(hex_output + di * 2, "%02x", digest[di]); } return hex_output; } char *md5_file(FILE *fp) { md5_state_t state; md5_byte_t digest[16]; char *hex_output = (char *)malloc(33); char data[64]; int di, ln; //hashage md5_init(&state); while(!feof(fp)) { ln = fread(data, 1, sizeof(data), fp); md5_append(&state, data, ln); } md5_finish(&state, digest); //output for (di = 0; di < 16; di++){ sprintf(hex_output + di * 2, "%02x", digest[di]); } return hex_output; } int filecmp(FILE *f1, FILE *f2) { char hash1[33], hash2[33]; strcpy(hash1, md5_file(f1)); strcpy(hash2, md5_file(f2)); return strcmp(hash1, hash2); }
4 avril 2011 à 13:11
30 août 2005 à 08:48
j'ai :
char *md5_str(char *p)
{
md5_state_t state;
md5_byte_t digest[16];
char *hex_output = (char *)malloc(33);
int di;
//hashage
md5_init(&state);
md5_append(&state, (const md5_byte_t *)p, (int)strlen(p));
md5_finish(&state, digest);
//output
for (di = 0; di < 16; di++){
sprintf(hex_output + di * 2, "%02x", digest[di]);
}
return hex_output;
}
J'utilise dev-cpp 4.9.9.2 et il me retourne lors de la copilation :
[Linker error] undefined reference to `md5_init'
[Linker error] undefined reference to `md5_append'
[Linker error] undefined reference to `md5_finish'
ld returned 1 exit status
Que faire please ??!
Amicalement
3 août 2004 à 12:20
2 août 2004 à 23:55
sa sert a quoi enfet?
j'ai pas tres bien compris
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.