Somme md5 en c
Fermé
pandageek
Messages postés
359
Date d'inscription
samedi 6 août 2011
Statut
Membre
Dernière intervention
27 mai 2014
-
25 sept. 2012 à 18:27
Utilisateur anonyme - 11 oct. 2012 à 10:52
Utilisateur anonyme - 11 oct. 2012 à 10:52
A voir également:
- Somme md5 en c
- Somme si couleur - Guide
- Somme excel - Guide
- Md5 checksum - Télécharger - Web & Internet
- Somme si ens plusieurs critères même colonne ✓ - Forum Excel
- Erreur de somme de contrôle - Forum Logiciels
11 réponses
[Dal]
Messages postés
6175
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
30 avril 2024
1 083
Modifié par [Dal] le 26/09/2012 à 15:09
Modifié par [Dal] le 26/09/2012 à 15:09
Salut pandageek,
La proposition d'Augustin utilise la bibliothèque OpenSSL.
Si tu veux éviter cette dépendance, tu peux utiliser une implémentation autonome de l'algorithme.
Il y a une implémentation de référence en C qui figure dans la RFC qui définit "MD5 Message-Digest Algorithm" http://www.ietf.org/rfc/rfc1321.txt
Tu as dedans des codes sources en C de test de l'implémentation, dont notamment une qui calcule la somme md5 d'un fichier. Vois la licence, c'est copyright RSA (il faut les citer, entre autres obligations).
Il y a d'autres implémentations : http://crazyjoke.free.fr/md5/ propose un md5.c, md5.h et un programme de test montrant aussi comme l'utiliser avec un fichier. Attention, celle-là est sous GNU GPL v2.
Celle-ci, est sous une licence de type BSD : https://sourceforge.net/projects/libmd5-rfc/files/ très libérale. Elle est réalisée par le créateur de Ghostscript, L. Peter Deutsch.
Dal
La proposition d'Augustin utilise la bibliothèque OpenSSL.
Si tu veux éviter cette dépendance, tu peux utiliser une implémentation autonome de l'algorithme.
Il y a une implémentation de référence en C qui figure dans la RFC qui définit "MD5 Message-Digest Algorithm" http://www.ietf.org/rfc/rfc1321.txt
Tu as dedans des codes sources en C de test de l'implémentation, dont notamment une qui calcule la somme md5 d'un fichier. Vois la licence, c'est copyright RSA (il faut les citer, entre autres obligations).
Il y a d'autres implémentations : http://crazyjoke.free.fr/md5/ propose un md5.c, md5.h et un programme de test montrant aussi comme l'utiliser avec un fichier. Attention, celle-là est sous GNU GPL v2.
Celle-ci, est sous une licence de type BSD : https://sourceforge.net/projects/libmd5-rfc/files/ très libérale. Elle est réalisée par le créateur de Ghostscript, L. Peter Deutsch.
Dal
augustin45
Messages postés
134
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
20 novembre 2012
31
25 sept. 2012 à 18:35
25 sept. 2012 à 18:35
je sais pas toi, mais google est mon ami:
http://www.yoannsculo.fr/faire-un-hash-md5-dun-string-en-c/
http://www.yoannsculo.fr/faire-un-hash-md5-dun-string-en-c/
pandageek
Messages postés
359
Date d'inscription
samedi 6 août 2011
Statut
Membre
Dernière intervention
27 mai 2014
4
25 sept. 2012 à 18:39
25 sept. 2012 à 18:39
pas une chaine, un fichier
augustin45
Messages postés
134
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
20 novembre 2012
31
25 sept. 2012 à 18:41
25 sept. 2012 à 18:41
ah pardon
eh bien ouvre le fichier et enregistre le dans une chaine ;)
eh bien ouvre le fichier et enregistre le dans une chaine ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pandageek
Messages postés
359
Date d'inscription
samedi 6 août 2011
Statut
Membre
Dernière intervention
27 mai 2014
4
25 sept. 2012 à 18:42
25 sept. 2012 à 18:42
et s'il est compilé? ça marche?
augustin45
Messages postés
134
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
20 novembre 2012
31
25 sept. 2012 à 18:45
25 sept. 2012 à 18:45
si quoi est compilé?
un fichier contient des informations enregistrées en binaire, toutes les extentions utilisent ce principe
l'extention n'est pas un encodage en elle meme, mais sert aux programmes de différencier les roles des différents fichiers.
tu peut donc ouvrir n'importe quelle extention de fichier et afficher ce que le fichier contient sous forme de texte. ce texte peut donc etre hashé quelle que soit l'extention du fichier
un fichier contient des informations enregistrées en binaire, toutes les extentions utilisent ce principe
l'extention n'est pas un encodage en elle meme, mais sert aux programmes de différencier les roles des différents fichiers.
tu peut donc ouvrir n'importe quelle extention de fichier et afficher ce que le fichier contient sous forme de texte. ce texte peut donc etre hashé quelle que soit l'extention du fichier
pandageek
Messages postés
359
Date d'inscription
samedi 6 août 2011
Statut
Membre
Dernière intervention
27 mai 2014
4
25 sept. 2012 à 18:46
25 sept. 2012 à 18:46
il est compilé en C.
je devrai pouvoir l'ouvrir avec un éditeur de texte alors non?
je devrai pouvoir l'ouvrir avec un éditeur de texte alors non?
augustin45
Messages postés
134
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
20 novembre 2012
31
25 sept. 2012 à 18:49
25 sept. 2012 à 18:49
bien sur, mais ce n'est pas en faisant clique droit dessus que tu y arrivera car windows n'en voit pas l'utilité^^
mais tu ouvre le bloc note, ensuite tu déplaces le fichier dans le cadre à texte du bloc note
et après un bref chargement, un charabiat s'affichera
ne pense pas y comprendre quelque chose
eh ce que tu appelle fichier compilé en C tu parles bien d'un *.exe?
mais tu ouvre le bloc note, ensuite tu déplaces le fichier dans le cadre à texte du bloc note
et après un bref chargement, un charabiat s'affichera
ne pense pas y comprendre quelque chose
eh ce que tu appelle fichier compilé en C tu parles bien d'un *.exe?
pandageek
Messages postés
359
Date d'inscription
samedi 6 août 2011
Statut
Membre
Dernière intervention
27 mai 2014
4
25 sept. 2012 à 18:50
25 sept. 2012 à 18:50
je suis sous linux alors il s'appelle juste main, mas c'est bien un executable
augustin45
Messages postés
134
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
20 novembre 2012
31
25 sept. 2012 à 18:57
25 sept. 2012 à 18:57
ok ca doit etre la meme manip sous linux pour voir le .exe en "texte"
mais ce n'est pas tout cela qui nous intéresse: donc essaye le code sur la page que j'ai cité plus haut et dis moi ce que tu obtent
mais ce n'est pas tout cela qui nous intéresse: donc essaye le code sur la page que j'ai cité plus haut et dis moi ce que tu obtent
Utilisateur anonyme
10 oct. 2012 à 23:12
10 oct. 2012 à 23:12
Bonjour,
@Dal, ;-)
Tu as aussi l'UDF de Melem sur Developpez
Et sous Debian (Linux)
@Dal, ;-)
Tu as aussi l'UDF de Melem sur Developpez
Et sous Debian (Linux)
[Dal]
Messages postés
6175
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
30 avril 2024
1 083
11 oct. 2012 à 10:20
11 oct. 2012 à 10:20
Cool, merci Saachaa :-)
26 sept. 2012 à 20:50
Modifié par [Dal] le 26/09/2012 à 23:05
Pour celle de L. Peter Deutsch, j'ai adapté l'exemple qu'il donne md5main.c (qui se contente d'utiliser la librairie pour effectuer les tests de la RFC), pour faire une fonction get_md5_from_str.
voilà le code de mon mymd5.c :
Par exemple.
Dal
30 sept. 2012 à 14:00
ou comment dire à code blocks de les compiler
ps : je suis passé sous windows
1 oct. 2012 à 11:40
- tu crées un projet sous Codeblocks
- tu copies md5.c et md5.h dans le répertoire du projet avec l'explorateur Windows
- dans Codeblocks, tu fais clic droit sur le nom du projet dans l'arborescence et tu cliques "add files..."
- tu ajoutes md5.c et md5.h, confirme l'ajout dans les cibles debug et dans release
- dans ton main.c, fait un copier coller du code ci-dessus (ou du code contenu dans md5main.c, si c'est ce que tu veux, mais md5main.c ne fait que les tests standard contenus dans la définition de la norme MD5).
Dal