JAVA Alive a écrit:A ce stade, c'est plus de la rectification, c'est de la réécriture.
Pour se concentrer sur le fichier : un checksum c'est un algorythme (c'est juste un calcul, une fonction au sens mathématique du terme) qui prenant un fichier (une serie ordonnée d'octets, 1 octet = 8 bits) et lui fait correspondre une autre série d'octets (en général limitée à quelques octets) qu'on appelle le checksum.
Cette fonction peut être une somme mais en pratique on prend des fonctions extrêmement "chaotiques", c'est à dire qu'un changement infime (un seul bit dans le fichier qui peut en comporter des milliards voir bien plus) change totalement le résultat.
Faites l'essai si vous voullez, vous verrez.
En pratique, comme le checksum fait quelques octets, il est plus petit que le fichier. Si on prend des fichiers de 100 ko, on a 256 à la puissance 100 000 fichiers possibles. Si le checksum fait 100 octets, on a que 256 puissance 100 checsum possible donc beaucoup, beaucoup, beaucoup mois.
Ca veut dire qu'il y a plein de fichiers différents qui ont le mêe checksum. Donc oui, un checksum identique ne garanti pas des fichiers identiques.
Ok, mais prenant deux fichiers au pif, quelle est la probabilité d'avoir le même checksum. Bah c'est simple, il y a 256 puissance 100 checsum possible, ton tu auras 1 chance sur 256 puissance 100. Il y a environ 10 puissance 80 atomes dans l'univers observable. Si on choisis tous les deux un atome au pif dans l'univers , on a une chance sur 10 puissance 80 de choisir le même. Ce serait impossible tu en conviens, pourtant ca reste beaucoup plus probable que d'avoir deux même checksum pour deux fichiers différents.
Bref, que deux fichiers différents aient un même checksum est encore bien plus improbable que de gagner au loto des miliards et des miliards de fois de suis au loto.
En fait c'est juste hors sujet. les checksum ont été inventés pour des questions de sécurité, pour garantir qu'un programme n'a pas été intentionnellement modifié par un tiers. C'est repris au niveau hifi pour faire smart, ça ne mange pas de pain.
Après il comparer ça au bit perfect, ça n'a aucun rapport. Le bit perfect c'est le fait que entre le bits du fichier et les bits envoyés au dac il n'y a aucune différence. Mais il faut savoir que les ecarts, s'il y en a, ne sont pas liés aux erreurs mais au fait que le flux numérique passe par des alogos qui le modifient intenionnellement, comme apr exemple les mixeurs des systèmes d'exploitation.
Ca c'est juste la critique de la première phrase. Ouf...