BASHスクリプトベース:md 5コマンドを使用してメッセージサマリーフィンガープリントを生成


この記事ではMD 5とmd 5コマンドの使い方を紹介します.
MD 5:情報要約アルゴリズム
メッセージ要約アルゴリズムとは
情報要約アルゴリズムMD 5は、Message-Digest Algorithmの略であり、ファイルに対して128ビットのハッシュ値をハッシュ関数として生成することができ、転送中のファイルの整合性を保証するために使用することができる.MD 5はアメリカの暗号学者ロナルド・リービスター(Ronald Linn Rivest)が設計し、1992年に公開され、RFC 1321規格で規範化された
セキュリティの問題とシーンの適用
1996年以降、このアルゴリズムに弱点があることが判明したのは、一般的にSHA-22004年を使用してMD 5が衝突を防止できないことを確認することを提案しているため、セキュリティ認証(SSL公開鍵認証やデジタル署名など)には適用されないが、ファイルの完全性検証においては広く応用されている.
基本概念
  • メッセージ要約指紋:message-digest fingerprint:MD 5によって生成された128ビットのハッシュ値
  • チェックサム:checksum:MD 5で生成された128ビットのハッシュ値
  • 注意:本明細書では、MD 5値と総称する
    環境の検証
    liumiaocn:Desktop liumiao$ sw_vers
    ProductName:	Mac OS X
    ProductVersion:	10.15.6
    BuildVersion:	19G73
    liumiaocn:Desktop liumiao$ which md5
    /sbin/md5
    liumiaocn:Desktop liumiao$ which md5sum
    /usr/local/bin/md5sum
    liumiaocn:Desktop liumiao$ md5sum --version
    md5sum (GNU coreutils) 8.31
    Copyright (C) 2019 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later .
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    
    Written by Ulrich Drepper, Scott Miller, and David Madore.
    liumiaocn:Desktop liumiao$ 
    

    コマンド:md 5
    使用方法1:指定した文字列のMD 5値を生成する
    実行コマンド:md 5-s文字列
  • 実行例
  • liumiaocn:Desktop liumiao$ md5 -s "liumiao"
    MD5 ("liumiao") = 5fbb93bc914969ed10eb26e8817a5da6
    liumiaocn:Desktop liumiao$ 
    

    注意:生成されたMD 5の値には改行は含まれません.改行が含まれている場合、MD 5の値は
    liumiaocn:Desktop liumiao$ echo "liumiao" | md5
    acfac80dc86bf1863f902367090fa47c
    liumiaocn:Desktop liumiao$ echo "liumiao" > sourcefilenewline
    liumiaocn:Desktop liumiao$ md5 sourcefilenewline 
    MD5 (sourcefilenewline) = acfac80dc86bf1863f902367090fa47c
    liumiaocn:Desktop liumiao$ 
    

    使用方法2:サイレント方式
    サイレント方式-q方式では、MD 5値のみが出力され、他のオプションと組み合わせて使用できます
    実行コマンド:md 5-q-s文字列
  • 実行例
  • liumiaocn:Desktop liumiao$ md5 -q -s "liumiao"
    5fbb93bc914969ed10eb26e8817a5da6
    liumiaocn:Desktop liumiao$ 
    

    使用方法3:指定したファイルのMD 5値を生成する
    実行コマンド:md 5-sファイル名
  • 実行例
  • liumiaocn:Desktop liumiao$ echo -n "liumiao" >sourcefile
    liumiaocn:Desktop liumiao$ md5 sourcefile 
    MD5 (sourcefile) = 5fbb93bc914969ed10eb26e8817a5da6
    liumiaocn:Desktop liumiao$ md5 -q sourcefile 
    5fbb93bc914969ed10eb26e8817a5da6
    liumiaocn:Desktop liumiao$
    

    前の-sで生成された値と同じ値が表示されます.ハッシュ値はコンテンツの確認であるため、ファイルの改名やコピーに影響はありません.
    liumiaocn:Desktop liumiao$ cp sourcefile targetfile 
    liumiaocn:Desktop liumiao$ md5 targetfile 
    MD5 (targetfile) = 5fbb93bc914969ed10eb26e8817a5da6
    liumiaocn:Desktop liumiao$