問題タブ [php-password-hash]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - password_hash 出力の形式は何ですか?
私はPHP関数を知っておりpassword_hash
、アルゴリズム、コスト、ソルト、およびハッシュをすべて1つの文字列で出力するのでpassword_verify
、パスワードを確認できます。
PHP ページからのサンプル出力:
$2y$はアルゴリズムを表し、10はコストを表します。しかし、ハッシュからソルトをどのようにpassword_verify
分離するのでしょうか? その後、2 つを分離する識別子は表示されません。
php - password_hash と password_verify でのパスワードハッシュの問題
現在、サーバーを PHP 5.5 にアップグレードしており、新しい関数password_hash
とpassword_verify
.
ハッシュを正しく検証できないようです。PHPマニュアルから正確な例をコピーしましたが、まだ返されているようfalse
です?
彼らは私が見逃しているものですか?
戻り値
php - データベースまたはphpコードでbcryptを使用してパスワードをハッシュしますか?
PHPアプリのどこでもパスワードハッシュにbcryptを使用しています。ただし、データベースで bcrypt を使用するか、php コードで bcrypt を使用するかを選択できます。bcrypt を使用することは他のほとんどのハッシュ オプションよりも優れていると思いますが、データベース内の関数または php 内の関数を介して bcrypt を使用する方が安全ですか?
php - PHP password_hash() password_verify() パスワードの最大長?
password_hash()
PHP 5.5およびで使用できるパスワードの最大長はpassword_verify()
?
php - md5 パスワード ハッシュを PHP 5.5 password_hash() に変換する
PHP 5.5 の新しい password_hash API は素晴らしいので、どこでも使い始めたいと思っています。パスワードが md5 ハッシュに保存されている古いデータベースを使用する古いプロジェクトの場合、古いユーザー パスワードを新しいより安全な API に移行するための最良の方法は何ですか?
次回のログイン時にパスワードをリセットするようユーザーに促すだけでなく (これは非現実的であり、ユーザーにとって迷惑です)、現在の md5 ハッシュを既存のすべてのユーザーの password_hash() への入力として使用する可能性について考えました。これらのユーザーのパスワードを (ログイン中に) 検証するには、入力を md5 ハッシュに変換し、それを password_verify() に使用します。新規ユーザーは、この余分な手順を省略できます。
これはこれを行う価値のある方法ですか?ユーザーがパスワードのリセットについてしつこくなくても、より安全なハッシュの利点をすぐに享受できる、透過的な移行のためのより良い方法はありますか?
最も重要なのは、既存の md5 ハッシュ (ブルート フォース攻撃を受けやすい) を取得し、password_hash() API を使用してそれを「ダブル ハッシュ」することには、セキュリティ上の利点もありますか?
php - PHP 5.5 で password_needs_rehash 関数を使用する方法
以前に sha512 を使用してハッシュした一連のパスワードがデータベースにあり、サーバーを PHP 5.5 にアップグレードしたので、bcrypt パスワード ハッシュを使用したいと考えています。したがって、私の考えは、ユーザーのログインを取得し、ここで説明されているこの password_needs_rehash 関数を呼び出してパスワードを確認し、データベースのパスワード ハッシュを更新することです。
http://php.net/manual/en/function.password-needs-rehash.php
ただし、この関数の使用方法はわかりません。ここにリストされている例はなく、オプション配列の目的が実際には明確ではありません。次のように password_needs_rehash 関数を呼び出す必要がありますか?
php - PHP 5.5 の新しい password_hash 関数でランダムに生成されたパスワード ソルトはどのように役立つのでしょうか?
PHP 5.5 の新機能について読んだところですが、新しいパスワード ハッシュ機能 ( http://www.php.net/manual/en/function.password-hash.php ) が含まれています。説明を見ると、デフォルトの操作は、パスワードソルトを指定しない場合、ランダムに生成することです。
しかし、それがどのように役立つかわかりません。安全な保管のためにパスワードをハッシュしている場合、ソルトはランダムであるためです。次に、ユーザーがパスワードに入力する文字列を実行すると、ソルトが毎回異なる場合、結果のハッシュは毎回異なります。したがって、入力された有効なパスワードと保存されているパスワード ハッシュのコピーを正常に比較することはできません。
では、これがどのように役立つのでしょうか。