GNU/Linux >> Linux の 問題 >  >> Linux

md5 チェックサムでファイルの整合性を検証する方法

チェックサム プログラムは、ファイルからチェックサム キー文字列を生成し、後でそのチェックサム文字列を使用してファイルの整合性を検証するために使用されます。ファイルは、ネットワークまたは任意のストレージ メディアを介してさまざまな宛先に配布される場合があります。多くの理由により、さまざまな理由でデータ転送中にいくつかのビットが欠落しているためにファイルが破損する可能性があります.これらのエラーは、インターネットからのファイルのダウンロード中、ネットワーク経由の転送中、CD-ROM の損傷中などに最も頻繁に発生します。

したがって、何らかのテストを適用して、受信したファイルが正しいファイルであるかどうかを知る必要があります。このファイル整合性テストに使用される特別なキー文字列は、チェックサム と呼ばれます .最も有名で広く使用されているチェックサム手法は md5sum です .

md5sum の計算

1. まず、ファイルの md5sum を計算する必要があります。端末に md5 チェックサムを出力するには、md5sum コマンドの後にファイル名を指定します。

# md5sum file 
dcf21e3a1a0181294bceae07ec16a9d9  file

md5sum は、与えられた 32 文字の 16 進文字列です。

2. 以下に示すように、md5sum をファイルにリダイレクトすることもできます。

# md5sum file > hash.md5

3. 同じコマンドを使用して、複数のファイルの md5sum ハッシュを作成することもできます。

# md5sum file1 file2 file3

md5 チェックサムによるファイルの整合性の検証

1. 端末に出力された英数字文字列が、ファイルで提供された md5 ハッシュと一致することを確認します。ファイルから md5 チェックサムを検証する。

# md5sum -c hash.md5
file: OK

プログラムはコンソールにファイル名を出力し、検証されれば OK を表示します。ファイルの形式は次のとおりです:ハッシュ (2 つのスペース) ファイル名.

# vim hash.md5
dcf21e3a1a0181294bceae07ec16a9d9  file

2. ファイルのチェックサムが失敗した場合、以下に示すような出力が得られます。

$ md5sum -c hash.md5
file: FAILED

ディレクトリ内のすべてのファイルのチェックサムを再帰的にチェックする方法

あるディレクトリ内のすべてのファイル/サブディレクトリのチェックサムをチェックしたいとします。 md5sum ユーティリティには再帰オプションがありません。心配しないでください。ここで使用できる小さなトリックがあります。

1. find と md5sum を組み合わせて md5sum リストを作成できます。例:

# find [DirectoryName] -type f -exec md5sum {} \; > ~/md5sum.txt

上記のコマンドを使用すると、あるディレクトリ内のすべてのファイルの md5sum リストを作成できます。

2. 確認するには、次のようにします:

# md5sum --check md5sum.txt > result.txt

ディレクトリのチェックサムを計算するための md5deep

通常、チェックサムはファイルに対して計算されます。ただし、ディレクトリでそれらを計算する場合は、ディレクトリ内のすべてのファイルのチェックサムを再帰的に計算する必要があります。これは、「md5deep」ユーティリティによって簡単に実現できます。たとえば、ディレクトリの md5sum を計算します。

# md5deep -rl /path/to/directory > directory.md5

ここで、
-r – 再帰的な md5sum 機能を提供します
-l – は相対パスに使用されます。デフォルトでは、出力に絶対ファイル パスを書き込みます。


Linux
  1. LinuxでCでファイルを書く方法は?

  2. 出力をファイルに追加する方法は?

  3. 「tar」コマンドと「find」コマンドを組み合わせる方法

  1. md5sumを使用したファイルの整合性の検証

  2. ファイルの最後に改行を追加するにはどうすればよいですか?

  3. 最大のファイル記述子を持つプロセスを見つける方法は?

  1. ファイル /etc/ssh/sshd_config の構文を確認する方法

  2. 特定のパターンで最新のログ ファイルを末尾に -f する方法

  3. tr コマンド - 文字列 \n を実際の改行 (\n) に置き換える方法