Por que a soma de SHA 256 muda ao gravar a imagem em uma unidade?

2

Eu notei que, se eu escrever uma imagem via dd em uma unidade USB, então sha256sum dessa imagem; a soma muda. Por quê? Nunca é idêntico ao do ISO.

Estou executando: sha256sum /dev/sdb (no dispositivo de bloco, não na (s) partição (ões))

    
por user1529891 01.07.2016 / 20:36

1 resposta

5

Se a sua imagem for menor do que a unidade USB, então você precisa ter certeza de que você leu apenas o tamanho dos dados da unidade, caso contrário, todo o restante da unidade será adicionado ao sha256 e criará um resultado diferente. / p>

por exemplo,

$ ls -l tst.iso                                                                
-rw-r--r-- 1 root root  Jul  1 14:58 tst.iso

$ /usr/bin/sha256sum tst.iso
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14  tst.iso

$ dd if=tst.iso of=/dev/sdg bs=1M
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 200.066 s, 5.4 MB/s

Quando lemos isso de volta, precisamos ter certeza de que apenas lemos os 1.073.741.824 bytes que escrevemos. Neste caso eu sei que são exatamente 1024 blocos de 1M cada, então eu posso especificar um bs=1M count=1024 .

$ dd if=/dev/sdg bs=1M count=1024 | sha256sum
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 37.8798 s, 28.3 MB/s
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14  -

Sem o total de bytes correspondentes, o sha256 seria diferente.

    
por 01.07.2016 / 21:04