Basha256.sh – Pure Bash 3.2 による sha256 実装
Basha256.sh は、Bash 3.2 のみで記述された sha256 ハッシュ関数の純粋実装です。外部依存関係や外部コマンドに頼らず、シェルスクリプトだけで sha256 の計算を可能にします。レガシーな環境や制約のあるシステムでのハッシュ検証に有用な軽量スクリプトです。
背景メモ
- **ozkatz** はイスラエルのソフトウェアエンジニアで、主にデータ基盤やストレージ系のOSS開発で知られる(rcloneなどへのコントリビューション実績がある)。
- このgistは、**sha256**(SHA-2ファミリーの暗号学的ハッシュ関数)を**Bash 3.2**(2006年リリースの古いシェル)だけでゼロから実装したスクリプト。通常sha256はCやPythonなど言語の標準ライブラリを使うが、これを一切の外部コマンド(openssl, sha256sum等)に頼らず純粋なBash組み込み構文だけで書いている。
- Bash 3.2はmacOS(10.15まで)に標準搭載されており、また配列やインクリメント構文の制約が厳しいため、任意精度演算やバイト操作をシェルで行うのは非常に困難。この実装は「誰もやらないような無駄な技術的挑戦」として話題になった。
- **なぜ重要か**:実用的な目的(sha256が必要なら素直にsha256sumを使うべき)ではなく、Bashの限界を探るハッキング精神や、レガシー環境でも動くポータブルなスクリプトとしての教育的価値、そして「古いものでどこまでできるか」という遊び心のあるプログラミング文化を示している。