RIPEMD-160 ハッシュ計算
エンコード処理はすべてブラウザ内で完結します。データは送信されません
テキストの RIPEMD-160 ダイジェストを求めます。このアルゴリズムは 1996 年に Hans Dobbertin らが EU の RIPE プロジェクトへ提出したもので、アメリカの標準に依存しないハッシュを目指して設計されました —— そのため MD4 / MD5 と起源を同じくしながら構造は意図的に異なり、2本の並行した変換列が交差する形で 160 ビットを出力します。今日でも広く使われている理由はただ一つ、Bitcoin です。P2PKH アドレスを作る手順(先に SHA-256、次に RIPEMD-160。合わせて HASH160)がこれを使っており、アドレスの再現、ウォレットインポート形式の検証、スクリプトハッシュの算出には欠かせません。「先に SHA-256 を通す」を選べば HASH160 を直接計算できます。
機能
- RIPEMD-160 ダイジェストを16進数または Base64 で出力
- HASH160 へワンスイッチ —— SHA-256 の後に RIPEMD-160、Bitcoin アドレスの中核手順
- 日本語や emoji は UTF-8 バイトで計算し、openssl と 1 桁まで一致します
- 内蔵実装なので、廃止された OpenSSL legacy provider に依存しません
- 数 MB のテキストでも計算しきり、ページが応答しなくなることはありません
- ダイジェストは端末のメモリ内で計算され、内容がブラウザの外へ出ることはありません
使い方
- テキストを入力欄に貼り付けます
- Bitcoin アドレスの手順が必要なら HASH160 にチェックを入れます
- 出力のエンコードと大文字・小文字を選びます
- Ctrl/⌘ + Enter を押すか「実行」をクリックし、結果をコピーします
よくある質問
- HASH160 とは何で、RIPEMD-160 とどう関係しますか?
- HASH160 は別のハッシュアルゴリズムではなく、2段階の組み合わせです:まずデータを SHA-256 にかけ、得られた 32 バイトをさらに RIPEMD-160 にかけて 20 バイトにします。Bitcoin はこれを使って公開鍵を 20 バイトの公開鍵ハッシュに圧縮し、それを Base58 で符号化してアドレスにしています —— アドレスが鍵より短く、送金手数料が安いのはこのためです。このオプションにチェックを入れると、本ツールはまさにこの2段階を行います。
- RIPEMD-160 はまだ安全ですか?
- MD5 や SHA-1 よりはずっとましですが、第一選択ではなくなりました。主な弱点は 160 ビットという長さです —— 誕生日攻撃の計算量はおよそ 2^80 で、現在の計算能力では手の届かない数字ではなくなりました。実際に示された衝突攻撃(2013年)はラウンド数を減らした版に対してのみで、完全版への実用的な脅威ではありません。Bitcoin が今もそのまま使い続けているのはこのためです。新しい設計には SHA-256 か SHA-3 を直接用いてください。このツールを必要とするのは、既存の値を再現する場面です。
- ブラウザがこのアルゴリズムを提供しないのはなぜですか?
- Web Crypto は NIST 標準のアルゴリズムしか収録しておらず、RIPEMD-160 はその中にありません(EU の RIPE プロジェクト由来だからです)。Node も OpenSSL 3 で legacy provider へ移し、既定では読み込まれません。そのため本ツールは実装を内蔵しています。副次的な利点として、http:// で開いたページのような Web Crypto のない環境でも RIPEMD-160 は計算できます —— 安全なコンテキストが必要になるのは HASH160 を選んだときだけです。
- ダイジェストがウォレットの値と一致しません
- 2点を確認してください。ひとつは入力が公開鍵かアドレスか。HASH160 の入力は公開鍵のバイト列(圧縮で 33 バイト、非圧縮で 65 バイト)で、アドレス文字列でも秘密鍵でもありません。もうひとつは公開鍵が圧縮されているかどうか —— 同じ公開鍵でも圧縮形と非圧縮形では HASH160 がまったく異なり、アドレスも別になります。1つの秘密鍵が2つのアドレスを持てるのはこのためです。
関連ツール
ハッシュ計算
エンコードMD5・SHA-1・SHA-256・SHA-512 のダイジェストを計算します(旧システム向けの MD4・MD2 も可)。日本語も UTF-8 バイトで計算します。
SHA-3 / Keccak
エンコードSHA-3・SHAKE・Ethereum が使う原版 Keccak のダイジェストを計算します。10の変種に対応し、SHAKE は出力長を指定できます。
Base58 / 62 / 100
エンコードテキストを Base58・Base62・Base100 で相互変換します。Base58 は Bitcoin と Flickr の両方のアルファベットに対応。日本語は UTF-8 バイトで処理します。
Base64 変換
エンコードテキストを Base64 に変換し、Base64 からテキストへ戻します。日本語や中国語、emoji も UTF-8 として正しく処理。すべてブラウザ内で完結し、内容は送信しません。
URL エンコード
エンコード日本語や中国語、空白・記号を %XX にエスケープし、復元します。URL 全体とパラメータ値では方式が異なり、間違えるとリンクが開けません。ブラウザ内で処理します。
HTML 実体参照
エンコード< > & と引用符を HTML 実体参照に変換し、文字へ戻します。デコードは1回だけで、&lt; は山括弧ではなく < になります。すべてブラウザ内で処理します。