DVDのsha256sumの計算


5

ISOイメージからDVDが焼けました。isoイメージのsha256sumもあります。ハッシュを比較するために、DVDからISOイメージを作成して実行sha256sum image.isoしましたが、元のイメージのハッシュとは異なります。

これはDVDのハッシュを計算する正しい方法ですか?そうでない場合、なぜ機能しないのですか?

編集:アーロン・ミラーがコメントで提供した理由を誰かが説明できますか。元のisoとまったく同じオプションでisoファイルを作成する方法はありますか?


2
理論は正しいですが、ISOの生成に使用されるオプションと、DVDを作成したオプションを作成するときに使用されるオプションの違いを考慮していません。ただし、元のISOの作成に組み込まれた詳細を特定できるかどうか、またはどのようにそれが可能かはわかりません。
アーロンミラー

ECCの目的で、16セクター境界までパディングがあります。作成したISOが元のISOよりも少し大きいかどうかを確認します。ドライブは、データを物理的に書き込むときにパディングし、ディスクからISOを作成するために使用したものは何でもこの効果を元に戻しませんでした。
ブライアン

回答:


6

これを行うことがわかった唯一の方法は、画像ではなくファイル自体をハッシュすることです。Febooti Hash&CRC(Windows)やQuick Hash GUIなどのツールを使用すると、問題のファイルをすべて選択し、右クリックしてハッシュを記録できます。もちろん、コマンドラインからsha256sumを使用しても同じことができます。これらのファイルをディスクに書き込んだ後、ディスク上のファイルを参照し、以前と同様にハッシュを確認します。ハッシュは一致するはずです。

追加の考え:

現在のプロセスは、チェックするディスクからisoを作成することであることを示します。これは余分で不必要なステップだと思います。ディスクを挿入し、ディスク上のファイルをハッシュして、元のイメージにあるファイルのハッシュと比較します。最初にisoを作成する必要はないため、これははるかに高速です。


4

更新:

これはDVDのハッシュを計算する正しい方法ですか?

まず、このサイトで行ったよう、DVD自体の sha256sumを取得します

...すでにCDを作成したので、戻って確認しますか?sha1sumまたはmd5sumがあれば簡単です。

...

DVD-RWドライブは/ dev / hdaです

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

89164d79d84f483c3642f25507186e58bf5fc0d8 / dev / hda

sha1sumを使用しますが、sha256sumでも同じように機能するはずです。まず、元のisoのハッシュと比較します。

そうでない場合、なぜ機能しないのですか?

このユーザは指摘します

特定のケースでは、コピーまたは元の画像のいずれかに末尾のゼロがあるため、サイズがわずかに異なる場合があります

彼は、これが事実であるかどうかを調べるためのいくつかの手順を提供しています、引用:

たとえば、copy.isoがorig.isoより小さい場合:

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

もちろん、後続のバイトがゼロであることも確認する必要があります。

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

最後に、新しい質問に戻ります。

元のisoとまったく同じオプションでisoファイルを作成する方法はありますか?

私はまだこれを行う方法を見つけていません。ただし、各ステップのハッシュを取得すれば、少なくとも違いが発生した場所を確認できます。私の推測では、ISOファイルを書き込むプログラムは、書き込みに必要ないくつかの手順を実行しますが、イメージを何らかの方法で変更しますか?

この質問の範囲外ではありますが、毎回同じように変更されるかどうかを確認するのは興味深いでしょう。つまり、複数のディスクを作成して、ハッシュがすべて同じであるかどうかを確認しますか?

元の回答:

これがあなたの質問を満たしているかどうかわからない(おそらく、既存のアプリケーションがすでにこの機能を実行している)

ただし、ImgBurnユーティリティ(windowsユーティリティ、申し訳ありません)を入手した場合、ISOイメージを使用してディスクを「検証」する機能があります。

私の推測では、ボンネットの下でこれは、あなたがやろうとしていることを達成するためにいくつかの追加のステップを実行します。それがオープンソースではないことを残念に思うか、コードを引き出して何が起こっているかを正確に見ることができます。

おそらく、同様の機能を持ち、オープンソースである他の書き込みユーティリティがありますか?


0

これは私のために働いた(しかし、完了するのに約20分かかった):

# dd if=/dev/sr0 |sha256sum

これはUUOCの場合のように見えますが、catを使用した代わりにのみですdd。それが20分かかった理由です。
ドミトリーグリゴリエフ

ごめんなさい。「UUOC」が何であるかわかりません。
スティーブン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.