レッスン 5
ハッシュデバッグワークフロー
チェックサム不一致と整合性チェックの実践手順。
チェックサムが一致しないとき、修正の焦点は数学への不信ではなく、通常 バイト列 にあります。
参照ハッシュを確認
公開ページ、リリースノート、package lock のエントリ、社内ドキュメントを確認します。次をメモしてください。
- アルゴリズム名(MD5 vs SHA-256)
- 出力形式(小文字 hex が一般的)
- 圧縮アーカイブか展開後のファイルか
正確な成果物をハッシュ
ダウンロードした .zip、.tar.gz、インストーラはダウンロードしたままハッシュします。参照が明示しない限り、展開フォルダをハッシュしないでください。
テキスト入力を慎重に比較
文字列比較では、エンコーディング(UTF-8 vs Latin-1)、改行(\n vs \r\n)、見えない空白を確認します。同じルールで多数の値をハッシュする場合はバッチモードが役立ちます。
バイナリはファイルモードで
ログ、画像、コンパイル済みバイナリは生バイトからハッシュします。テキスト貼り付けはエンコーディング変換でバイナリ内容を壊すことがあります。
不一致が続く場合
- 部分転送の可能性があるので再ダウンロード
- ファイルサイズと更新日時を比較
- 上流がチェックサムを更新せず成果物を変えたか確認
- 変換済みコピー(pretty-print された JSON、正規化されたパスなど)をハッシュしていないか確認
ローカルのハッシュジェネレータは素早い反復に役立ちますが、信頼できる参照ハッシュは検証対象の出所から来ます。