C++ md5 ?

Hello

Je voudrai savoir s’il y a un moyen en c++ de calculer le md5 d’un fichier/répertoire ou s’il faut que je me tape tout l’algo a la mano ?

remaque il existe peut etre des sources quelque par

en passant je suis tomber sur un vieux post:

http://www.lemonde.fr/cgi-bin/ACHATS/acheter.cgi?offre=ARCHIVES&type_item=ART_ARCH_30J&objet_id=1064488&clef=ARC-TRK-D_01#xtor=AL-32280184

sa me laisse perplexe… moi qui pensai que le md5 était solide…

j’ai fouiner un peux sur wikipedia mai rien de concluant:

http://fr.wikipedia.org/wiki/Md5#Algorithme

si quelqu’un a une piste qui m’évite de ré-inventer la roue je lui dis d’avance merci

md5 n’est, il me semble, plus considéré comme cryptographique.
Tu as sha1 ou sha256 si tu veut quelque chose de plus robuste.

Sinon tu n’a évidement rien de standard pour calculer ça (et rien dans boost).

Je connais pas de bibliothèque qui le permettent mais demande à APT.

il s’agis de s’assurer de l’integriter des fichier ,afin qu’il ne soie pas modifier.

mai arf bon va falloir faire sa a la mano c lourd Pff

Merci pour ta réponse

MD5 (128 bits) est totalement dépassé, ça fait un bon moment qu’on peut provoquer des collisions à volonté sans beaucoup d’efforts (sans compter la quantité faramineuse de rainbow tables qui existent). Même SHA1 (160 bits) n’est plus aujourd’hui considéré comme sécurisé, même s’il demande un peu plus de puissance CPU pour arriver à créer des collisions arbitraires.
Le minimum pour un hash sécurisé est le SHA256, voire le SHA512 si tu es parano et/ou que tu veux que ton appli reste fiable beaucoup plus longtemps.

Niveau librairies :

  • Pour les algorithmes de hashage, il y a mhash.
  • Il y a aussi crypto++ qui regroupe tous les algorithmes cryptographiques standards (dont les hashes, bien évidemment) mais qui est beaucoup plus lourd du fait du grand nombre d’algorithmes supportés.

Merci pour les détail je vais voir pour ces lib :slight_smile:

Tu peux récupére les sources de surveillance, tu as dedans un fichier md5.h, un fichier md5.c et un autre filemd5.c calculant le md5sum d’un fichier. J’ai fait ça à partir des sources de md5sum. filemd5(nomdufichier) te sort la somme md5 d’un fichier.

Je te suggère d’essayer de trouver un antécédent à une somme md5 donnée. Il ne faut pas confondre le système de cryptage de mot de passe md5 et la somme md5 consistant à chercher un fichier dont la somme md5 est donnée à l’avance et contenant un début fixe, i.e d’altérer un fichier en conservant sa signature. Il y a eu des résultats sur ce dernier point mais sur des cas très particulier, ça n’est pas demain la veille qu’on fera ça facilement. Par contre craquer un mot de passe par force brute fait par md5, ça on sait faire en un temps raisonnable pour les longueurs usuelles.

hello
je vai regarder sa de plus près :slight_smile:
Merci fran.b effectivement pour control des fichier je pense que le md5 reste valable :023

Pour les sources:

Tu rajoutes
deb-src boisson.homeip.net/source/ ./

dans ton sources.list et tu fais
apt-get source surveillance