web-dev-qa-db-ja.com

チェックサムのファイル形式はありますか?

アプリケーションのファイルのSHA512チェックサムを保存したい。一般的な(人気のある)方法でそれを行う方法は?したがって、このチェックサムは使用できますが、サードパーティのアプリケーションでも使用できます。

5
ShyBoy

チェックサムは、小文字の16進数、2つのスペース、ファイル名の順に、1行に1つのファイルで記述します。これは、md5sumおよびさまざまなsha*sumCLIツールで使用される形式です。

$ sha512sum t.txt
d663b43c84ab4ba20040e568d3cb799512fcc00f1053f96f3079345f680b39429adc92f9c8c45fc9ae6053173ddc5b35ade25ae1d5c91e57b809d0c021d5c891  t.txt

$ sha512sum -c <(sha512sum t.txt)
t.txt: OK

TL; DR

ファイル形式は、ダイジェストの生成に使用するコマンドの出力です。

$ shasum -a 512 [FILE] > SHA512SUM # create a checksum file (SHA512SUM)
$ shasum -c SHA512SUM              # verify [FILE] from checksum file
[FILE]: OK                         # output

チェックサムファイルを生成する簡単な方法については、 これら 他のLinuxコマンドを参照してください。

長い答え

チェックサムファイルをチェックするために使用しているshamumの実装によって異なります。

Perl実装を使用している場合($ shamum -c [FILE])次に、manページで答えを見つけることができます。見る $ man shasum

チェックするとき、入力はこのプログラムの以前の出力でなければなりません。デフォルトのモードでは、チェックサム、タイプを示す文字( '*'はバイナリ、 ''はテキスト、 '?'はポータブル、 '^'はBITS)、および各ファイルの名前を含む行を印刷します。

[〜#〜] gnu [〜#〜]実装を使用している場合($ sha512sum -c [FILE])その答えは彼らのcoreutilsdocumentation の下にあります:

注:GNU shaダイジェストドキュメントはmd5sumダイジェストドキュメントを参照します

ファイルごとに、「md5sum」はデフォルトで、MD5チェックサム、スペース、バイナリまたはテキスト入力モードを示すフラグ、およびファイル名を出力します。バイナリモードは「*」で示され、テキストモードは「」(スペース)で示されます。重要なシステムでは、バイナリモードがデフォルトです。それ以外の場合は、テキストモードがデフォルトです。ファイルにバックスラッシュまたは改行が含まれている場合、行はバックスラッシュで始まり、ファイル名の問題のある各文字はバックスラッシュでエスケープされるため、任意のファイル名が存在する場合でも出力が明確になります。ファイルが省略されているか、「-」として指定されている場合、標準入力が読み取られます。

3
sdc

私が見たすべてのチェックサムファイルは、チェックサムのみを含むプレーンなASCIIファイルでした。このようにして、チェックサムコマンドの出力と簡単に比較できます。

良い習慣は、ファイル名のサフィックスで使用されるチェックサムアルゴリズムを示すことです。例:.md5または.crc

1
ktf