Skip to content

HashChecker v0.1.0-pre.1

Pre-release
Pre-release

Choose a tag to compare

@Termnix-IT Termnix-IT released this 04 Jun 13:40
· 6 commits to main since this release

HashChecker v0.1.0-pre.1

HashChecker は、ベンダーから提供されたハッシュ値と確認対象ファイルから算出したハッシュ値を比較するためのツールです。

このプレリリースでは、業務制約に合わせた PowerShell 版に加えて、共通仕様に沿った Python / Go / C#/.NET / Rust 版の CLI 実装を追加しました。各実装で、入力検出、ハッシュ値検証、終了コード、エラー時の扱いをできるだけ揃えています。

Highlights

  • PowerShell 版を業務制約版として整理
  • Python 版を共通仕様の基準実装として追加
  • Go 版、C#/.NET 版、Rust 版を追加
  • MD5 / SHA256 のハッシュ比較に対応
  • ハッシュファイルと確認対象ファイルの自動検出に対応
  • ハッシュ値の文字数、16進数形式、複数行入力を検証
  • 言語間で終了コードを共通化
  • testdata による正常系・異常系の確認ケースを追加
  • Python / Go / C#/.NET / Rust の横断確認スクリプトを追加
  • GitHub Actions で個別テスト・ビルド・横断確認を実行

Included Implementations

PowerShell

  • Windows 標準機能の Get-FileHash を使う業務制約版
  • .bat から起動する手順化された実装
  • 既存運用に近い形で MD5 / SHA256 の確認に対応

Python

  • 標準ライブラリのみで実装した基準 CLI 版
  • 入力検証とテストのしやすさを重視
  • 共通仕様を固めるための比較基準として利用

Go

  • 標準ライブラリのみで実装した CLI 版
  • 単一バイナリ配布を想定した比較対象
  • 明示的なエラー処理と CLI ツールとしての配布性を確認

C#/.NET

  • .NET 標準 API で実装した CLI 版
  • Windows 業務ツールや将来的な GUI 化を見据えた比較対象
  • .NET Runtime を前提にした配布形式を検討しやすい構成

Rust

  • md-5 と sha2 crate を使った CLI 版
  • 型安全性、Result ベースのエラー処理、単一バイナリ配布の比較対象
  • ハッシュ計算以外は標準ライブラリ中心で実装

Verification

このプレリリースでは、以下の確認ケースを用意しています。

  • SHA256 の正常一致
  • MD5 の正常一致
  • ハッシュ値不一致
  • ハッシュ値形式エラー
  • 確認対象ファイルの複数検出エラー

GitHub Actions では、push / pull_request のたびに以下を実行します。

  • Python unit test
  • Go test
  • C#/.NET build
  • Rust test
  • Python / Go / C#/.NET / Rust の横断確認

Notes

このリリースはプレリリースです。現時点では、正式な配布用バイナリやインストーラーではなく、実装比較・学習・ポートフォリオ用途を主目的としています。

PowerShell 版は実務制約に合わせた既存運用寄りの実装であり、Python / Go / C#/.NET / Rust 版とは位置づけが異なります。多言語 CLI 版は 共通仕様.md に沿った比較用実装です。

Known Limitations

  • 配布用バイナリはまだリリース成果物として添付していません
  • C#/.NET 版や Rust 版などは、実行・ビルドに各言語の toolchain が必要です
  • 現時点では GUI はありません
  • 正式なインストール手順や利用者向けパッケージングは未整備です