PBKDF2について
hidevtool の PBKDF2 はブラウザ内でパスワードと salt から鍵材料を派生します。PRF(HMAC ハッシュ)、hex または UTF-8 salt、反復回数、出力ビット長、hex/Base64 エンコーディングを選べ、データはアップロードされません。
ウォレット、VPN、パスワード保存仕様と openssl、Python hashlib、Web Crypto のサンプルを突き合わせるときは、反復回数、salt エンコーディング、派生鍵長を完全一致させてください。
できること
役割
PBKDF2 は salt と多数の反復で人間のパスワードを固定長鍵バイトに伸ばします。ウォレット、VPN、パスワード保存スキームでは特定のハッシュと反復回数が指定されることが多いです。
PRF(ハッシュ)
- SHA-256 — 新設計と Web Crypto でよく使う既定。
- SHA-512 — 内部ブロックが長い。一部仕様で要求。
- SHA-1 — レガシー互換のみ。新規 secret では避ける。
salt と反復
- パスワードごとに一意の salt。新規鍵生成ではランダム salt を推奨。
- hex salt は偶数桁 hex。UTF-8 salt はテキストの生バイト。
- 反復が多いほど総当たりに強い。パスワード保存では 10 万~60 万回以上が一般的。
出力長
- 256 bit(32 バイト)は AES-256 鍵長としてよく使われる。
- ビット長と hex/Base64 は対象ツールや RFC テストベクトルに合わせる。
安全に使う
- 1派生結果は鍵材料と同様に扱い、ログやチケットに載せない。
- 2ユーザー・secret ごとに独立したランダム salt。DB 間で salt を使い回さない。
- 3新システムは SHA-256/512 と高反復回数を優先。
- 4本ページは派生・テスト向け。共有 PC に本番マスターパスワードを貼らない。
よくある使い方
RFC / ドキュメントベクトル
公開テスト入力でバックエンド PBKDF2 実装を検証。
ウォレット・VPN
ドキュメントに PBKDF2 パラメータが明示されているときに鍵材料を派生。
学習・デバッグ
salt エンコーディングと反復回数が派生バイトをどう変えるか観察。
よくある質問
- bcrypt や scrypt と同じ?
- いいえ。本ページは PBKDF2 のみ。bcrypt、scrypt は別 KDF でパラメータ体系が異なります。
- 他サイトと結果が一致しない
- PRF ハッシュ、salt バイト(hex か UTF-8 か)、反復回数、出力ビット長、hex か Base64 か——いずれかが違えば結果も変わります。
- データはアップロードされる?
- いいえ。派生はブラウザ内のみです。