¿La adición de etiquetas de Yosemite a un archivo cambia su firma MD5?

-1

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

¿La adición de etiquetas OSX a un archivo cambia su hash MD5?

EDITAR: hice algunas pruebas y obtuve resultados mixtos dependiendo del tipo de archivo / aplicación utilizado. Así que no estoy seguro de si la etiqueta en sí está marcando una diferencia o si algo cambia la aplicación.

    
pregunta Alex Cuervo 30.12.2014 - 20:23

2 respuestas

2

Ejecuté md5 archivo en Terminal.app, apliqué una etiqueta a archivo y volví a ejecutar md5 . El hash devuelto fue el mismo. Sin saber tu configuración exacta, es imposible saberlo con seguridad, pero parece que estás bien.

    
respondido por el samh 30.12.2014 - 20:28
2

Una cosa en la que pensé que podría afectar el resultado es qué etiquetas estás agregando y cómo. Los colores de etiqueta tradicionales (rojo, naranja, ...) se almacenan en un subcampo de 3 bits del campo FinderInfo del registro de catálogo HFS + para el archivo. Las nuevas etiquetas se almacenan en lugar de un atributo extendido del archivo.

Bajo el nuevo esquema, si Finder establece la etiqueta, siempre la coloca (o ellos) en el atributo extendido com.apple.metadata:_kMDItemUserTags . Si alguna otra aplicación establece el índice de etiqueta, por ejemplo con el comando AppleScript

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

el índice de etiqueta se establece en FinderInfo. Un valor distinto de cero para FinderInfo hace que el comando xattr lo muestre como si fuera el atributo extendido com.apple.FinderInfo , donde puede ver el índice de la etiqueta como tres de los bits en el décimo byte . La interacción entre estos dos campos es compleja. A veces, modificar una borrará la otra, otras no.

md5 podría verse afectado de manera diferente dependiendo de qué metadatos, si corresponde, se incluye en la suma de control en comparación con qué metadatos se ve afectado por el método que utiliza para establecer la etiqueta.

La buena noticia es que md5 parece ignorar todos los metadatos. Se calcula una suma de comprobación de sólo la bifurcación de datos. Ni siquiera incorpora el tenedor de recursos. (Para la suma de comprobación de la bifurcación de recursos, debe solicitarla explícitamente, como en md5 "Icon^M"/..namedfork/rsrc , pero luego la bifurcación de recursos es la cosa única a la que se ve).

    
respondido por el ganbustein 30.12.2014 - 22:56

Lea otras preguntas en las etiquetas