Una cosa que he pensado que podría afectar al resultado es que etiquetas que está añadiendo, y cómo. Los colores tradicionales de las etiquetas (Rojo, Naranja, ...) se almacenan en un subcampo de 3 bits del campo FinderInfo del registro del catálogo HFS+ del archivo. Las nuevas etiquetas se almacenan en cambio en un atributo extendido del archivo.
Bajo el nuevo esquema, si Finder establece la etiqueta, siempre la pone (o las pone) en el com.apple.metadata:_kMDItemUserTags
atributo extendido. Si alguna otra aplicación establece el índice de la etiqueta, por ejemplo con el comando AppleScript
tell application "Finder" to set label index of someFile to 3
el índice de la etiqueta se establece en FinderInfo. Un valor distinto de cero para FinderInfo hace que el xattr
para listarlo como si fuera el atributo extendido com.apple.FinderInfo
donde se puede ver el índice de la etiqueta como tres de los bits del décimo byte. La interacción entre estos dos campos es compleja. A veces, al modificar uno se borra el otro, y otras veces no.
md5
puede verse afectado de forma diferente dependiendo de qué metadatos, si los hay, se incluyen en la suma de comprobación y qué metadatos se ven afectados por el método que se utiliza para establecer la etiqueta.
La buena noticia es que md5
parece ignorar todos los metadatos. Calcula una suma de comprobación sólo de la bifurcación de datos. Ni siquiera incorpora el fork de recursos (para hacer la suma de comprobación del fork de recursos, hay que pedirla explícitamente, como en md5 "Icon^M"/..namedfork/rsrc
pero entonces la bifurcación de recursos es la sólo que mira).