0 votes

L'ajout de balises Yosemite à un fichier modifie-t-il sa signature MD5 ?

J'ai un système de sauvegarde en nuage qui s'appuie sur les signatures de hachage MD5 pour la déduplication.

L'ajout de balises OSX à un fichier modifie-t-il son hachage MD5 ?

EDIT : J'ai fait quelques tests et j'ai obtenu des résultats mitigés en fonction du type de fichier/application utilisé. Je ne sais donc pas si c'est le tag lui-même qui fait la différence ou si c'est un autre élément modifié par l'application.

2voto

samh Points 3830

J'ai couru md5 fichier dans Terminal.app, a appliqué une balise à fichier et ré-analyse md5 . Le hachage renvoyé était le même. Sans connaître votre configuration exacte, il est impossible de savoir avec certitude, mais il semble que vous êtes OK.

2voto

ganbustein Points 1312

J'ai pensé à une chose qui pourrait affecter le résultat. dont balises que vous ajoutez, et comment. Les couleurs traditionnelles des étiquettes (rouge, orange, ...) sont stockées dans un sous-champ de 3 bits du champ FinderInfo de l'enregistrement du catalogue HFS+ pour le fichier. Les nouvelles étiquettes sont stockées à la place dans un champ attribut étendu du fichier.

Selon le nouveau schéma, si le Finder définit la balise, il la (ou les) place toujours dans le répertoire com.apple.metadata:_kMDItemUserTags attribut étendu. Si une autre application définit l'index de l'étiquette, par exemple avec la commande AppleScript

tell application "Finder" to set label index of someFile to 3

l'index du label est défini dans FinderInfo. Une valeur non-nulle pour FinderInfo provoque l'utilisation de la fonction xattr pour l'énumérer comme si c'était l'attribut étendu com.apple.FinderInfo où l'indice de l'étiquette est représenté par trois des bits du dixième octet. L'interaction entre ces deux champs est complexe. Parfois, la modification de l'un efface l'autre, parfois non.

md5 peut être affectée différemment selon les métadonnées, s'il y en a, qui sont incluses dans la somme de contrôle et celles qui sont affectées par la méthode que vous utilisez pour définir l'étiquette.

La bonne nouvelle est que md5 semble ignorer toutes les métadonnées. Il calcule une somme de contrôle uniquement pour la fourchette de données. Il n'incorpore même pas la fourche des ressources (pour calculer la somme de contrôle de la fourche des ressources, vous devez le demander explicitement, comme dans la commande suivante md5 "Icon^M"/..namedfork/rsrc mais alors la fourchette de ressources est la uniquement qu'il regarde.)

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X