0 votos

¿Añadir etiquetas de Yosemite a un archivo cambia su firma MD5?

Tengo un sistema de copia de seguridad en la nube que se basa en firmas hash MD5 para la desduplicación.

¿Añadir etiquetas OSX a un archivo cambia su hash MD5?

EDIT: Hice algunas pruebas y obtuve resultados mixtos dependiendo del tipo de archivo/app utilizado. Así que no estoy seguro de si la etiqueta en sí está haciendo una diferencia o algo más cambio por la aplicación.

2voto

Robru Puntos 584

Corrí md5 archivo en Terminal.app, aplicó una etiqueta a archivo y volver a correr md5 . El hash devuelto era el mismo. Sin conocer tu configuración exacta es imposible saberlo con seguridad, pero parece que estás bien.

2voto

ganbustein Puntos 1016

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).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X