61 votes

Un hachage cryptographique ou une somme de contrôle identique pour deux fichiers signifie-t-il qu'ils sont identiques ?

J'ai 2 documents excel et je veux vérifier s'ils sont exactement les mêmes, à part le nom du fichier.

Par exemple, les fichiers s'appellent fileone.xls y filetwo.xls . En dehors des noms de fichiers, leurs contenus sont supposés être identiques mais c'est ce que je veux vérifier.

J'ai cherché des moyens de revoir cela et sans installer un tas de plugins. Il ne semble pas y avoir de moyen direct.

J'ai essayé de générer des hachages MD5 pour les deux fichiers. Lorsque les hachages sont identiques, cela signifie-t-il que le contenu des fichiers est identique à l'identique ?

-1voto

ibft2 Points 7

Les fichiers sont probablement identiques si leurs hachages sont identiques. Vous pouvez augmenter la confiance en modifiant les deux fichiers de manière identique (par exemple, en mettant la même valeur dans la même cellule inutilisée) puis en comparant les hachages des fichiers modifiés. Il est difficile de créer une collision délibérée pour un fichier qui est modifié d'une manière non connue à l'avance.

-2voto

gnasher729 Points 305

Voyons cela d'un point de vue pratique. Au lieu de dire "les hachages sont identiques", je dirai "j'ai écrit un programme informatique qui calcule les hachages de deux fichiers et indique s'ils sont identiques ou non", et j'exécute le programme avec deux fichiers, et il dit "identique". Il y a plusieurs raisons pour lesquelles il peut faire cela :

Les fichiers peuvent être identiques. Mon code peut comporter des bogues (l'un d'entre eux, qui s'est produit en pratique, consistait à comparer deux longs hachages (256 octets) non pas avec memcmp mais avec strcmp : La comparaison renverra "identique" si le premier octet de chaque hachage est zéro, et la probabilité que cela se produise est de 1 sur 65536. Il peut y avoir un défaut matériel (un rayon cosmique frappant une cellule de mémoire et la commutant). Ou vous pouvez avoir le cas rare de deux fichiers différents avec un hachage identique (une collision de hachage).

Je dirais que pour les fichiers non identiques, la cause la plus probable est de loin une erreur du programmeur, puis vient le rayon cosmique qui a modifié une variable booléenne avec le résultat de la comparaison des hachages de "faux" à "vrai", et beaucoup plus tard vient la coïncidence d'une collision de hachage.

Il existe des systèmes de sauvegarde d'entreprise qui évitent de sauvegarder les fichiers identiques de 10 000 utilisateurs en hachant chaque fichier et en vérifiant si un fichier avec un hachage identique est déjà stocké sur le serveur. Ainsi, en cas de collision, un fichier ne sera pas sauvegardé, ce qui peut entraîner une perte de données. Quelqu'un a calculé qu'il est beaucoup plus probable qu'une météorite frappe votre serveur et détruise toutes les sauvegardes que de perdre un fichier parce que sa somme de contrôle correspond à un autre fichier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X