1. 概要

The SHA-256標準ドキュメントの整合性チェックで使用されます。 それよりも優先されます SHA-1標準。後者は、異なるドキュメントに対して同じハッシュを生成することが示されているためです。

このチュートリアルでは、sha256sumコマンドを使用したSHA-256ハッシュ生成について説明します。

2. ファイルのSHA-256ハッシュを生成する

sha256sumコマンドは2つのモードで使用できます。 バイナリとテキスト(デフォルト)。 Linuxでは、両方のモードで同じSHA-256ハッシュが生成されるため、このチュートリアルではデフォルトのモードが使用されます。 

いくつかの簡単なテキストを含むテキストファイルを作成し、それを使用してコマンドがどのように機能するかを示しましょう。

echo "https://baeldung.com" > data.txt

次に、上記のファイルのsha-256ハッシュを作成しましょう

sha256sum data.txt 
86c5ceb27e1bf441130299c0209e5f35b88089f62c06b2b09d65772274f12057 data.txt

この生成された出力は、次のもので構成されます。

  • ハッシュサム–最初の65文字
  • スペース
  • アスタリスク(バイナリモードのみ
  • ファイルへのパスまたはファイルの名前のみ

ディレクトリ内のファイルのハッシュを生成することもできます

sha256sum /path/to/data.txt > checksum
cat checksum 
86c5ceb27e1bf441130299c0209e5f35b88089f62c06b2b09d65772274f12057 /path/to/data.txt​

3. ファイルの整合性を確認する

チェックサムファイルに保存されているハッシュを使用して、ハッシュしたdata.txtファイルの整合性検証してみましょう。

sha256sum --check checksum
data.txt: OK

次に、 data.txt に含まれる情報を変更して、失敗したテストをシミュレートします。 sed コマンドを使用して、「https」を「http」に置き換えます。

sed -i 's/https/http/' data.txt

最後に、ファイルの整合性を再度確認します。

sha256sum --check checksum 
data.txt: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match

3.1. 複数のファイルの処理

別のファイルのチェックサムファイルに別のエントリを追加しましょう。 これを行うには、新しいファイルに単純なテキストを追加し、その新しいファイルのダイジェストを生成して、チェックサムファイルに追加します。

echo "https://google.com" > data2.txt 
sha256sum data2.txt >> checksum

チェックサムファイル内のすべてのエントリに対して整合性テストを実行すると、は各エントリを処理し、はどのファイルが失敗したかを通知します。テスト、および合格:

sha256sum --check checksum 
data.txt: FAILED 
data2.txt: OK 
sha256sum: WARNING: 1 computed checksum did NOT match

4. 結論

この記事では、 sha256sum コマンドを使用して、SHA-256ハッシュダイジェストを生成してファイルの整合性をチェックする方法を説明しました。 。その後、出力をファイルに保存し、それを使用してファイルの整合性をチェックしました。

最後に、 複数のファイルの整合性をテストします。