SECURE · BROWSER-ONLY
パスワード生成.jp
Secure Password Generator
🛡 ブラウザ完結 🔐 Web Crypto API 📡 通信ゼロ

ハッシュ関数とは

データを固定長の値に変換する一方向の関数

ハッシュ関数とは

ハッシュ関数は、任意の長さのデータを受け取り、固定長の文字列(ハッシュ値・ダイジェスト)に変換する一方向の関数だよ。「一方向」というのが重要で、ハッシュ値から元のデータを復元することは計算上ほぼ不可能なんだ。

主な特性

  • 決定性: 同じ入力から常に同じハッシュ値が得られる
  • 一方向性: ハッシュ値から元データを逆算できない
  • 雪崩効果: 入力が1ビット変わるだけでハッシュ値が大きく変わる
  • 衝突耐性: 同じハッシュ値になる2つの入力を見つけるのが非常に困難

パスワード保存への活用

Webサービスはパスワードをそのままデータベースに保存しない。代わりにハッシュ値を保存するんだ。こうすることで、データベースが盗まれてもパスワード本体は守られる。

ログイン時はユーザーが入力したパスワードをハッシュ化して、保存済みのハッシュ値と比較するよ。

パスワード用ハッシュとその他のハッシュ

SHA-256などの汎用ハッシュは処理速度が速いため、ブルートフォース攻撃に弱い。パスワード保存にはbcrypt・Argon2・PBKDF2のような、意図的に処理を遅くした専用のハッシュ関数を使うべきだね。レインボーテーブル対策にはソルトの追加も必須だよ。