From 84f565470a2147f217614fe1e59f57b269a92fc6 Mon Sep 17 00:00:00 2001 From: akinoriakatsuka Date: Sat, 8 Mar 2025 00:30:23 +0900 Subject: [PATCH 1/3] password_hash: Update for PHP 8.4 --- .../password/functions/password-hash.xml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/reference/password/functions/password-hash.xml b/reference/password/functions/password-hash.xml index aec43765f6..97e1a5401e 100644 --- a/reference/password/functions/password-hash.xml +++ b/reference/password/functions/password-hash.xml @@ -1,6 +1,6 @@ - + @@ -39,9 +39,9 @@ - PASSWORD_BCRYPT - CRYPT_BLOWFISH - アルゴリズムを使ってハッシュを作ります。これは標準の crypt - 互換のハッシュで、識別子 "$2y$" を使った場合の結果を作ります。 + PASSWORD_BCRYPT - bcrypt アルゴリズムを使ってハッシュを作ります。 + これは標準の crypt + 互換のハッシュで、識別子 $2y$ を使った場合の結果を作ります。 その結果は、常に 60 文字の文字列になります。&return.falseforfailure;。 @@ -90,8 +90,8 @@ - 省略した場合のデフォルトは 10 です。この値でもかまいませんが、 - ハードウェアの性能が許すならもう少し高くすることもできます。 + 省略した場合のデフォルトは 12 です。この値でもかまいませんが、 + ハードウェアの性能に応じて調整することもできます。 @@ -199,6 +199,13 @@ + + 8.4.0 + + PASSWORD_BCRYPT アルゴリズムのデフォルトの cost オプションの値が + 10 から 12 に引き上げられました。 + + 8.0.0 From 4b5505d027bd8af1736c5b8bf3816344ebe22688 Mon Sep 17 00:00:00 2001 From: akinoriakatsuka Date: Sat, 8 Mar 2025 00:30:47 +0900 Subject: [PATCH 2/3] password_*(): Sync with `password_hash()` --- reference/password/functions/password-needs-rehash.xml | 6 +++--- reference/password/functions/password-verify.xml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/password/functions/password-needs-rehash.xml b/reference/password/functions/password-needs-rehash.xml index 5f7d26ef5f..3f4e4ccad2 100644 --- a/reference/password/functions/password-needs-rehash.xml +++ b/reference/password/functions/password-needs-rehash.xml @@ -1,6 +1,6 @@ - + @@ -97,11 +97,11 @@ 12]; +$options = ['cost' => 13]; // 格納されたハッシュを、平文のパスワードに対して検証します if (password_verify($password, $hash)) { diff --git a/reference/password/functions/password-verify.xml b/reference/password/functions/password-verify.xml index f8b2c1aca9..1953def17d 100644 --- a/reference/password/functions/password-verify.xml +++ b/reference/password/functions/password-verify.xml @@ -1,6 +1,6 @@ - + password_verify @@ -74,7 +74,7 @@ Date: Sun, 9 Mar 2025 18:49:17 +0900 Subject: [PATCH 3/3] =?UTF-8?q?`password=5Fhash()`=20=E3=81=AE=E3=82=B5?= =?UTF-8?q?=E3=83=B3=E3=83=97=E3=83=AB=E3=82=B3=E3=83=BC=E3=83=89=E3=82=82?= =?UTF-8?q?=E5=8E=9F=E6=96=87=E3=81=AE=E6=9B=B4=E6=96=B0=E3=81=AB=E8=BF=BD?= =?UTF-8?q?=E9=9A=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/password/functions/password-hash.xml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/reference/password/functions/password-hash.xml b/reference/password/functions/password-hash.xml index 97e1a5401e..6cfbc680f1 100644 --- a/reference/password/functions/password-hash.xml +++ b/reference/password/functions/password-hash.xml @@ -279,7 +279,7 @@ echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT); &example.outputs.similar; @@ -291,11 +291,10 @@ $2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a 12, + 'cost' => 13, ]; echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options); ?> @@ -304,7 +303,7 @@ echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options); &example.outputs.similar; @@ -318,13 +317,13 @@ $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K /** * このコードは、サーバーをベンチマークして、どの程度のコストに耐えられるかを判断します。 * サーバーに負荷をかけすぎない範囲で、できるだけ高めのコストを設定したいものです。 - * 基準として 10 程度からはじめ、サーバーが十分に高速なら、できるだけ上げていきましょう。 + * 基準として 11 程度からはじめ、サーバーが十分に高速なら、できるだけ上げていきましょう。 * 以下のコードでは、ストレッチングの時間を 350 ミリ秒以内にすることを狙っています。 * 対話形式のログインを扱う際の許容時間としては、このあたりが適切でしょう。 */ $timeTarget = 0.350; // 350 ミリ秒 -$cost = 10; +$cost = 11; do { $cost++; $start = microtime(true); @@ -339,7 +338,7 @@ echo "Appropriate Cost Found: " . $cost; &example.outputs.similar;