Cookie の使用について.本サイトでは、基本機能の提供に必要な必須 Cookie を使用しています。さらに、同意いただいた場合に限り、アクセス解析 Cookie を利用して利用状況を把握し、サービス改善に役立てます。詳しくは .
PHPパスワードハッシュ生成
このツールは使いやすかったですか?
フィードバックは改善に役立ちます
在线生成PHP password_hash密码哈希值,支持BCrypt、Argon2I、Argon2ID算法,用于安全存储密码。
概要
解決できる課題、処理の仕組み、データの範囲を確認できます。
このツールは、テスト用文字列からbcrypt形式のパスワードハッシュを生成します。平文を元に戻す暗号化ではなく、入力から一方向の値を作る処理です。ログイン時は保存済みハッシュと入力を専用の検証関数で照合するため、生成した文字列を復号する必要はありません。
bcryptでは生成ごとにソルトが使われるため、同じ文字列でも出力全体が毎回同じになるとは限りません。ハッシュ文字列には照合に必要な情報が含まれるので、保存する場合は途中を切らずに全体を扱います。PHP公式マニュアルは、password_hash()による生成とpassword_verify()による検証を案内しています。
コストはbcryptの計算負荷を調整する整数です。この画面では4〜15を指定できます。値を上げると計算負荷も増えるため、数値だけで本番設定を決めず、実際のPHP実行環境で応答時間を確認してください。画面の初期値10は初期表示であり、PHPの現在の既定値や推奨値を示すものではありません。
bcryptで扱う入力はUTF-8換算で72バイト以内です。文字数とバイト数は一致しないことがあり、日本語を含む場合は特に注意してください。上限を超えると生成できません。
使い方
手順に沿って操作し、例を使って入力と結果を確認します。
実アカウントでは使っていないテスト専用の文字列を入力します。UTF-8で72バイト以内にしてください。
4〜15の整数を入力します。性能評価をする場合は本番と同等の環境でも計測してください。
生成を実行するとハッシュ文字列が表示されます。コピーした値はPHPのテストコードや使い捨ての検証データに利用できます。
$ok = password_verify($candidate, $storedHash);$candidateには確認したい入力、$storedHashには生成結果全体を渡します。この画面はハッシュ生成用で、照合そのものはPHP側で行います。
活用例
仕事や日常の流れの中での活用方法を紹介します。
PHPのログイン処理を実装する開発者が、架空のテスト文字列とハッシュを用意し、正しい入力・誤った入力でpassword_verify()の分岐を確認できます。
検証環境で保存カラムや受け渡し処理を点検するとき、生成結果を丸ごと扱えるか試せます。実ユーザーの値や本番データは使わないでください。
Q&A
よくある疑問や迷いやすい点をまとめて確認できます。
生成時にソルトが使われるためです。文字列同士を比較せず、PHPのpassword_verify()で候補入力と保存済みハッシュを照合してください。
値を上げると処理負荷も高くなります。用途と稼働環境に合わせて実測し、ログイン処理に過度な遅延を生じない設定を検討してください。
制限は文字数ではなくUTF-8でのバイト数です。日本語などは1文字が複数バイトになることがあり、72文字未満でも上限に達する場合があります。
いいえ。ハッシュは一方向の値で、復号する機能ではありません。入力候補が一致するかをアプリケーション側で検証します。
注意
利用範囲、結果の制限、必要な注意点を事前に確認します。
入力文字列は処理のためサーバーへ送信されます。インフラ側のログや保存期間は確認できていません。実際のアカウントのパスワード、APIキー、個人情報、秘密情報は入力しないでください。
このページは開発・学習用のハッシュ生成を補助します。生成結果を本番の認証基盤へ採用する前に、自分のPHP環境でアルゴリズム対応、入力制限、処理時間、保存方法を確認してください。画面のコスト範囲や初期値が、あらゆる環境に適した設定を保証するものではありません。
関連
関連ツール、特集、利用可能なAPIを探せます。
パスワードはサイトのサーバー経由でPHPクラウド関数に送信します。クラウド基盤のログ・保存期間は未確認です。実際のアカウントのパスワードは入力しないでください。bcryptはUTF-8で72バイトまでです。