Una cosa a cui ho pensato che potrebbe influenzare il risultato è quali tag stai aggiungendo e come. I colori delle etichette tradizionali (rosso, arancione, ...) sono memorizzati in un sottocampo a 3 bit del campo FinderInfo del record del catalogo HFS + per il file. Le nuove etichette vengono invece archiviate in un attributo esteso del file.
Con il nuovo schema, se Finder imposta il tag, lo inserisce sempre (o loro) nell'attributo com.apple.metadata:_kMDItemUserTagsesteso. Se un'altra applicazione imposta l'indice dell'etichetta, ad esempio con il comando AppleScript
tell application "Finder" to set label index of someFile to 3
l'indice dell'etichetta è impostato in FinderInfo. Un valore diverso da zero per FinderInfo fa sì che il xattrcomando lo elenchi come se fosse l'attributo esteso com.apple.FinderInfo, dove è possibile vedere l'indice dell'etichetta come tre dei bit nel decimo byte. L'interazione tra questi due campi è complessa. A volte modificando l'uno si cancella l'altro, a volte no.
md5 potrebbe essere influenzato in modo diverso a seconda dei metadati, se presenti, inclusi nel checksum rispetto ai metadati interessati dal metodo utilizzato per impostare l'etichetta.
La buona notizia è che md5sembra ignorare tutti i metadati. Calcola un checksum del solo fork dei dati. Non incorpora nemmeno il fork delle risorse. (Per eseguire il checksum del fork delle risorse, è necessario richiederlo esplicitamente, come in md5 "Icon^M"/..namedfork/rsrc, ma poi il fork delle risorse è l' unica cosa che guarda.)