-
MD5 pour logiciel
Bonjour,
je compile un logiciel avec Visual studio 2008 et je fais le md5 de ce logiciel
je le compile disons 10 minutes après sans rien changer et je fais le md5 aussi
or les deux md5 sont diffèrent (tests réalisé en debug et release)
je suppose que le compilateur introduit la date de compilation dans l'exe
j'aimerais savoir si il y a une solution pour que deux compilations a des moments différents de quelque chose d'identique produise le même résultat
merci
-
En effet, c'est bien la timestamp.
Les compilateurs récents ont une option pour mettre autre chose que la timestamp dans ce champ ("reproducible build"), mais j'ignore quelle version est nécessaire ou comment on s'en sert.
Edit: An introduction to deterministic builds with C/C++ peut être un bon point de départ.
-
merci c'est pile poil ce que je cherchais
je vais tester et si ca marche je mettrais une information ici
-
j'ai trouvé un article sympa
https://nikhilism.com/post/2020/wind...nistic-builds/
j'ai essayé avec
__DATE__=-1
__TIME__=-1
en définition de préprocesseur et ca a l'air de générer le même md5 a deux compilations différentes
avec quelque fois des effets étonnant mais c'est un bon début
sur vs2008 il colle pourtant deux erreurs
1>c1xx : warning C4117: nom de macro '__DATE__' réservé, '#define' ignoré
1>c1xx : warning C4117: nom de macro '__TIME__' réservé, '#define' ignoré
si quelqu'un pouvait tester aussi ca serait top (sans changer le code)
le site pour le md5 https://emn178.github.io/online-tools/md5_checksum.html