Calculando o sha256sum de um dvd

5

Eu tenho um DVD gravado de uma imagem iso. Eu também tenho sha256sum da imagem iso. Para comparar hashes, criei uma imagem iso a partir do dvd e executei sha256sum image.iso , mas ela difere do hash da imagem original.

Esta é uma maneira correta de calcular o hash de um DVD? Se não, por que não funciona?

Editar: Alguém pode explicar o motivo que Aaron Miller forneceu no comentário. Existe uma maneira de fazer o arquivo iso com exatamente as mesmas opções que a iso original?

    
por hpn 11.07.2013 / 20:52

3 respostas

6

A única maneira que eu encontrei para fazer isso é para hash os arquivos em si, não as imagens. Usando uma ferramenta como Febooti Hash & CRC (Windows) ou GUI do Quick Hash você pode selecionar todos os arquivos em questão, clicar com o botão direito e gravar o hash. Você pode fazer a mesma coisa da linha de comando com sha256sum também, é claro. Depois de gravar esses arquivos em um disco, navegue até os arquivos no disco e verifique o hash como antes. Os hashes devem corresponder.

Pensamentos adicionais:

Você indica que seu processo atual é criar uma iso a partir do disco que deseja verificar. Eu diria que este é um passo extra e desnecessário. Basta colocar o disco e fazer o hash dos arquivos no disco, como sugeri, e compará-los ao hash dos arquivos que estão na sua imagem original. Não há necessidade de criar um iso primeiro, então isso deve ser muito mais rápido.

    
por 11.07.2013 / 22:26
3

ATUALIZAÇÃO:

Is this a correct way to calculate hash of a DVD?

Primeiro, pegue um sha256sum de o próprio DVD como feito neste site :

... you’ve already burned the CD and now you’d like to go back and check it? As long as you have the sha1sum or md5sum it’s simple.

...

DVD-RW drive is /dev/hda

g33kgrrl@home ~/Desktop$ sha1sum /dev/hda

89164d79d84f483c3642f25507186e58bf5fc0d8 /dev/hda

Enquanto eles usam sha1sum, ele deve funcionar da mesma forma para sha256sum. Primeiro, compare isso com o hash da sua iso original.

If not, why doesn't it work?

Como este usuário aponta :

in certain cases the size can be slightly different because there are trailing zeroes in either the copy or the original image

Ele fornece algumas etapas para descobrir se esse é o caso, citação:

Por exemplo, se copy.iso for menor que orig.iso:

sha1sum copy.iso
head -c $(stat -c %s copy.iso) orig.iso

É claro que você também deve verificar se os bytes à direita são apenas zero:

od -j $(stat -c %s copy.iso) orig.iso

E, finalmente, voltemos à sua nova pergunta:

Is there a way to make iso file with exactly the same options as the original iso?

Ainda não encontrei uma maneira de fazer isso. No entanto, depois de ter os hashes de cada etapa, você pode pelo menos ver onde a diferença ocorreu. Meu palpite é que o programa que queima seu arquivo ISO executa algumas etapas que são necessárias para a gravação, mas que também modificam a imagem de alguma forma?

Um pouco fora do escopo desta questão, mas seria interessante ver se ela é modificada sempre da mesma . Em outras palavras, gravar vários discos e ver se há hashes são todos iguais?

Resposta original:

Não tenho certeza se isso satisfaz sua pergunta (talvez seu aplicativo existente já execute essa função)

Mas se você obtiver o utilitário ImgBurn (utilitário do Windows, desculpe), ele terá um recurso para "verificar" um disco usando um ISO imagem.

Meu palpite é que, sob o capô, isso executa algumas etapas extras para alcançar o que você está tentando fazer. Pena que não é de código aberto, ou você pode pegar o código e ver exatamente o que está acontecendo.

Talvez existam outros utilitários de gravação com funcionalidade semelhante e código aberto?

    
por 11.07.2013 / 23:14
0

Isso funcionou para mim (demorou cerca de 20 minutos para ser concluído):

# dd if=/dev/sr0 |sha256sum
    
por 24.01.2017 / 16:40