sha1sumは、 SHA-1ハッシュを計算して検証するコンピュータプログラムです。ファイルの整合性を検証するためによく使用されます。ほとんどのLinuxディストリビューションでは、このプログラム(またはその亜種)がデフォルトでインストールされています。通常、特定のSHA-2ハッシュ関数をsha224sum、 sha256sum、 sha384sum、 sha512sum、およびBLAKE2暗号ハッシュ関数
を使用するb2sum [1]も一緒に配布されます sha1sum
SHA-1バリアントは衝突攻撃に対して脆弱であることが証明されており、ユーザーは代わりにsha256sumなどのSHA-2バリアントやBLAKE2バリアントb2sumを使用して、敵対者による改ざんを防ぐ必要があります。[2] [3]
これはGNU Core Utilities [4] 、Busybox(b2sumを除く)[5]、Toybox(b2sumを除く)[6]に含まれています。Microsoft Windowsを含むさまざまなシステムへの移植が利用可能です。
例
SHA-1 ハッシュが指定されていない場合に、SHA-1 ハッシュを含むファイルを作成するには、次のようにします。
$ sha1sum ファイル名[ファイル名2 ] ... > SHA1SUM
1 つのファイルを配布する場合は、ファイル名に .sha1ファイル拡張子を追加できます。例:
$ sha1sum --binary my-zip.tar.gz > my-zip.tar.gz.sha1
出力には、ファイルごとに " " 形式の 1 行が含まれます{hash} SPACE (ASTERISK|SPACE) [{directory} SLASH] {filename}。(ハッシュ ダイジェストの作成がバイナリ モードではなくテキスト モードで実行される場合、1 つのスペース文字とアスタリスクではなく、2 つのスペース文字が含まれることに注意してください。) 例:
$ sha1sum -b my-zip.tar.gz
d5db29cd03a2ed055086cef9c31c252b4587d6d0 *my-zip.tar.gz
$ sha1sum -b サブディレクトリ/ファイル名2
55086cef9c87d6d031cd5db29cd03a2ed0252b45 *サブディレクトリ/ファイル名2
ファイルが正しくダウンロードされたか、または改ざんされていないかを確認するには:
$ sha1sum -c SHA1SUM
ファイル名: OK
ファイル名2: OK
$ sha1sum -c my-zip.tar.gz.sha1
my-zip.tar.gz: OK
ハッシュファイルツリー
sha1sum は、ディレクトリ内の 1 つまたは複数のファイルのチェックサムのみを作成できます。ディレクトリ ツリー (サブディレクトリ、サブサブディレクトリなど) やそれらに含まれるファイルのチェックサムは作成できません。これは、sha1sum をオプション付きのコマンドと組み合わせて使用するか、findからの出力を にパイプすることで可能になります。sha1deepは、ディレクトリ ツリーのチェックサムを作成できます。
find-execxargs
findでsha1sum を使用するには:
$ find s_* -type f -exec sha1sum '{}' \; 65c23f142ff6bcfdddeccebc0e5e63c41c9c1721 s_1/file_s11 d3d59905cf5fc930cd4bf5b709d5ffdbaa9443b2 s_2/file_s21 5590e00ea904568199b86aee4b770fb1b5645ab8 s_a/file_02
同様に、 findからの出力をxargsにパイプすると、同じ出力が生成されます。
$ find s_* -type f | xargs sha1sum
65c23f142ff6bcfdddeccebc0e5e63c41c9c1721 s_1/file_s11 d3d59905cf5fc930cd4bf5b709d5ffdbaa9443b2 s_2/file_s21 5590e00ea904568199b86aee4b770fb1b5645ab8 s_a/file_02
関連プログラム
- shasumはSHA-1、224、256、384、512ハッシュを計算するPerlプログラムです。 [7]これはActivePerlディストリビューションの一部です。
- sha3sumは、 SHA-3、HAKE、RawSHAKE、 Keccak関数を計算する同様の名前のプログラムです。 [8]
- <hash> sum命名規則は、BLAKEチームのや、プログラム、その他多くのシステムでも使用されています。
b2sumb3sumtthsum - FreeBSDとOpenBSDでは、ユーティリティはmd5、sha1、sha256、sha512と呼ばれます。これらのバージョンでは、オプションと機能が若干異なります。さらに、FreeBSDではSkeinファミリのメッセージダイジェストが提供されています。[9]
参照
参考文献
- ^ 「b2sum ソースコード in GNU coreutils」。GitHubの GNU coreutils ミラー。2022年1 月 29 日閲覧。
- ^ Bruce Schneier. 「SHA-1 の暗号解析」。Schneier on Security。
- ^ 「最初の SHA1 衝突のお知らせ」。
- ^ "Sha1sum の呼び出し (GNU Coreutils 9.0)".
- ^ “ミラー/ビジーボックス”. GitHub。 2021年10月26日。
- ^ 「Landley/Toybox」. GitHub . 2021年10月26日.
- ^ – Linux一般コマンドマニュアル
- ^ – Linux一般コマンドマニュアル
- ^ – FreeBSD一般コマンドマニュアル
