Sha1sum
、Sha256sum
違いは何ですかMd5sum
?一部のisoファイルについてこれらすべてを確認するには?md5sum.txt
Ubuntuでファイルを作成する方法は?
答え1
それぞれのマニュアルページを見ると、次のような内容を見ることができます。
md5sum - compute and check MD5 message digest
sha1sum - compute and check SHA1 message digest
sha256sum - compute and check SHA256 message digest
これは彼らがすべて情報のまとめは、すべてのサイズのデータをパラメータとして使用し、固定サイズのハッシュ値を返す一方向関数です。ハッシュは(実際の範囲内で)同じハッシュを使用する2つの異なるメッセージを反転して見つけることは不可能であると考えられます(衝突と呼ばれます)。
3つの違いは、このハッシュを生成するために使用されるアルゴリズムです。
MD51990年代初頭に発明され、現在は欠陥があり、時代に遅れていると考えられています。
SHA11990年代初頭にも開発された。 MD5より強いと見なされますが、十分に強力ではありません。現在、X.509デジタル証明書を使用したデジタル署名では、その使用は撤回されました。
SHA256現在推奨されているハッシュ関数です。
弱いアルゴリズムを使用する理由がない場合は、SHA256が最良の選択です。
テキストファイルを作成するには、出力をファイルにリダイレクトするだけです。たとえば、ハッシュしたいUbuntu ISOイメージがある場合:
md5sum Ubuntu.iso > md5sum.txt
もちろん、これは他の変形にも当てはまる。
その後、(たとえば)インターネットを介してファイルを配布でき、受信者は以下を使用してハッシュを再確認できます。
md5sum Ubuntu.iso
md5sum.txt
これにより、受信者が公開するファイルの内容と比較できるMD5ハッシュが印刷されます。同じであれば、ファイルは改ざんされていません。
もちろん、使用するよりも使用する方がsha256sum
良いですmd5sum
。一部のシステムでは、これらのユーティリティがすべて存在しないことを説明するために、ISO(および/または)を介してmd5sum.txt
展開sha1sum.txt
されたこれらのハッシュ選択を見つけることがよくあります。sha256sum.txt
答え2
MD5、SHA-1、およびSHA-256は異なるハッシュ関数(ダイジェスト)です。アルゴリズムと出力サイズの両方が異なります。
大容量ファイルをスキャンする場合は、ファイルを何度も読み取ることを防ぎ、プロセスを高速化できます。一般的なアプローチは
mkfifo md5 sha1 sha256
md5sum md5 >md5.txt &
sha1sum sha1 >sha1.txt &
sha256sum sha256 >sha256.txt &
zsh -c 'setopt MULTIOS; cat input >md5 >sha1 >sha256'
しかし、この場合、複数のダイジェストを同時に計算するプログラムがあるので、より簡単です。
gpg --print-mds input
答え3
md5sumはsha256sumより約3倍高速です。 (HDD読み取り速度は約150MB/s)
[#25#wangx@windows:系统盘] $ ll manjaro-xfce-19.0.2-200303-linux54.iso -h
-rwxrwxrwx 1 wangx wangx 2.6G Mar 5 2020 manjaro-xfce-19.0.2-200303-linux54.iso*
[#26#wangx@windows:系统盘] $ time md5sum manjaro-xfce-19.0.2-200303-linux54.iso
bc1207cbb099fa07a089aa9e1afaf82d manjaro-xfce-19.0.2-200303-linux54.iso
real 0m5.468s
user 0m4.547s
sys 0m0.891s
[#27#wangx@windows:系统盘] $ time sha256sum manjaro-xfce-19.0.2-200303-linux54.iso
ce49445ae48667389a70bf4f5247634520e0ed81a3d09f6ff64db0a6970a1123 manjaro-xfce-19.0.2-200303-linux54.iso
real 0m14.490s
user 0m13.453s
sys 0m0.969s
[#28#wangx@windows:系统盘] $ time md5sum manjaro-xfce-19.0.2-200303-linux54.iso
bc1207cbb099fa07a089aa9e1afaf82d manjaro-xfce-19.0.2-200303-linux54.iso
real 0m5.438s
user 0m4.344s
sys 0m1.047s
[#29#wangx@windows:系统盘] $
md5sum は短いため、2**64 = 18446744073709551616
ファイルが複数ある場合に競合が発生する可能性が高くなります。