4 votos

He creado varios archivos DMG de la misma carpeta - suma de comprobación es diferente en cada uno de ellos?

Hace bastante tiempo me he dado cuenta de que incluso si puedo crear archivos DMG desde el mismo directorio, con los mismos archivos y etc, los resultados son siempre diferentes. No sólo su tamaño es de ~15 bytes más corto/más el uno del otro, pero sus SHA sumas de comprobación (y su contenido, cuando se ve desde el editor HEXADECIMAL) difieren drásticamente. Sólo por curiosidad, he creado 5 comprimido sin cifrar archivos DMG de la misma carpeta que no contenga nada pero un solo archivo de texto. Los resultados son:

  • 0.dmg | tamaño - 26 204 bytes suma de comprobación - 5ba9ba0ee4d8ec5ba4718f1b491baf31c2c4e642
  • 1.dmg | tamaño - 26 221 bytes suma de comprobación - a86d76f6c07ee5a81c0aefb31b6fd40ef787ebd5
  • 2.dmg | tamaño - 26 235 bytes suma de comprobación - a31f4cf29e4e2858b7ac63c82574499200d81108
  • 3.dmg | tamaño - 26 209 bytes suma de comprobación - f3c19414279b6d6b94b90341453906e4a69e28dd
  • 4.dmg | tamaño - 26 217 bytes suma de comprobación - 9603c0334125762fc7908343e3ee400e038fe779

He estado navegando por internet con la esperanza de encontrar algo acerca de los "datos de la máquina en la APF", pero... obviamente, no podía encontrar una sola cosa, y además, no mucha gente realmente sabía acerca de esta "característica". Hay alguna info al respecto?

Estoy corriendo macOS 10.12.6, los archivos DMG fueron creados con la Utilidad de Discos, pero me da los mismos resultados con hdiutil.

3voto

Steve Evans Puntos 155

Copia de una existente dmg será idéntico pero por separado creado dmg archivos no.

Efectivamente Garantizados para Diferentes

La Manzana de la Imagen de Disco .dmg formato de forma garantiza que no hay dos imágenes de disco será bit por bit idénticos. La igualdad entre las imágenes de disco que contiene el mismo contenido no es un requisito práctico del formato.

UUID dentro de la 0x6B6F6C79 / koly Bloque

Dentro de la dmg formato de archivo es koly estructura. Esta estructura incluye un SegmentID de tipo uuid_t. Esta es una de 128 bits Identificador Único Universal (UUID). El SegmentID identificador solo se asegurará de que todos dmg archivo difiere en más de un bit.

El uso de HFSleuth en el iTunes 11.0 imagen de disco muestra el incrustados UUID:

HFSleuth> ver
Verbose output is on
HFSleuth> fs iTunes11.dmg
KOLY header found at 200363895:
    UDIF version 4, Header Size: 512
    Flags:1
    Rsrc fork: None
    Data fork: from 0, spanning 200307220 bytes
    XML plist: from 200307220, spanning 56675 bytes (to 200363895)
    Segment #: 1, Count: 1
    Segment UUID: 626f726e-7743259b-6086eb93-4b42fb65
    Running Data fork offset 0
    Sectors: 1022244

En el ejemplo anterior, la línea Segment UUID: 626f726e-7743259b-6086eb93-4b42fb65 es un identificador único universal incrustado en la imagen de disco.

Un Poco de las Diferencias y de las Funciones de Hash

Una diferencia en un bit debe resultar en un 50% o más el cambio en una función hash criptográfica de salida, tales como SHA-2.

El uso de un UUID dentro de la estructura no es para asegurarse de que cada imagen de disco es único, pero a la facilidad segmento de identificación dentro de la imagen de disco. Que un UUID ofrece la singularidad de las propiedades más allá del alcance de la imagen de disco es un producto de la UUID del uso.

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