Skip to content

Commit 52c3767

Browse files
committed
[reference/password] sync with en
1 parent a8cf85b commit 52c3767

File tree

4 files changed

+33
-45
lines changed

4 files changed

+33
-45
lines changed

reference/password/constants.xml

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: c6532951edb85836f2d49a3c81f8f5e1e41d3554 Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: 66aff414be91c5a0446be585aa6ac78121de1e67 Maintainer: takagi Status: ready -->
44
<!-- Credits: mumumu -->
55

66
<appendix xml:id="password.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -44,7 +44,7 @@
4444
値の例については <function>crypt</function> のページを参照ください。
4545
</para>
4646
<para>
47-
省略した場合のデフォルトは <literal>10</literal> です。この値でもかまいませんが、
47+
省略した場合のデフォルトは <literal>12</literal> です。この値でもかまいませんが、
4848
ハードウェアの性能が許すならもう少し高くすることもできます。
4949
</para>
5050
</listitem>
@@ -183,7 +183,7 @@
183183
<varlistentry xml:id="constant.password-default">
184184
<term>
185185
<constant>PASSWORD_DEFAULT</constant>
186-
(<type>mixed</type>)
186+
(<type>string</type>)
187187
</term>
188188
<listitem>
189189
<para>
@@ -192,22 +192,15 @@
192192
その時点でより強力なハッシュアルゴリズムに対応していればデフォルトが変わる可能性があります。
193193
</para>
194194
<para>
195-
この定数の値は、今後変わる可能性がある (きっと変わる) ことに注意しましょう
195+
この定数の値は、今後変わる可能性があることに注意しましょう
196196
つまり、生成されるハッシュの長さも変わる可能性があるということです。
197197
したがって、<constant>PASSWORD_DEFAULT</constant> を使う場合は、
198-
ハッシュの格納先は 60 文字以上でも格納できるようにしておく必要があります
199-
(255 文字程度にしておくことをおすすめします)。
200-
</para>
201-
<para>
202-
この定数の値
198+
ハッシュの格納先は任意の長さのハッシュを格納できるようにしておく必要があります。
199+
お勧めの長さは <literal>255</literal> バイトです。
203200
</para>
204-
<itemizedlist>
205-
<listitem>
206-
<simpara>
207-
PHP 5.5.0 - <constant>PASSWORD_BCRYPT</constant>
208-
</simpara>
209-
</listitem>
210-
</itemizedlist>
201+
<simpara>
202+
現状は、<constant>PASSWORD_BCRYPT</constant> のエイリアスです。
203+
</simpara>
211204
</listitem>
212205
</varlistentry>
213206
</variablelist>

reference/password/functions/password-hash.xml

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: e302f07943465892db7f72469e2ce9b42c4f763f Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: 5003a6ea92eb50ac92121782eedfc5ad3fe9d061 Maintainer: takagi Status: ready -->
44
<!-- Credits: mumumu -->
55
<refentry xml:id="function.password-hash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
66
<refnamediv>
@@ -33,16 +33,15 @@
3333
この定数もそれにあわせて変わっていきます。
3434
そのため、これを指定したときの結果の長さは、変わる可能性があります。
3535
したがって、結果をデータベースに格納するときにはカラム幅を
36-
60 文字以上にできるようなカラムを使うことをお勧めします
37-
(255 文字くらいが適切でしょう)。
36+
60 バイト以上にできるようなカラムを使うことをお勧めします
37+
(255 バイトくらいが適切でしょう)。
3838
</simpara>
3939
</listitem>
4040
<listitem>
4141
<simpara>
4242
<constant>PASSWORD_BCRYPT</constant> - bcrypt アルゴリズムを使ってハッシュを作ります。
4343
これは標準の <function>crypt</function>
4444
互換のハッシュで、識別子 <literal>$2y$</literal> を使った場合の結果を作ります。
45-
その結果は、常に 60 文字の文字列になります。&return.falseforfailure;
4645
</simpara>
4746
</listitem>
4847
<listitem>
@@ -91,7 +90,7 @@
9190

9291
<para>
9392
省略した場合のデフォルトは <literal>12</literal> です。この値でもかまいませんが、
94-
ハードウェアの性能に応じて調整することもできます
93+
ハードウェアの性能に応じて調整すべきです
9594
</para>
9695
</listitem>
9796
</itemizedlist>
@@ -265,13 +264,6 @@
265264
<programlisting role="php">
266265
<![CDATA[
267266
<?php
268-
/**
269-
* デフォルトのアルゴリズムを使ってパスワードをハッシュします。
270-
* 現時点でのデフォルトは BCRYPT で、その結果は 60 文字になります。
271-
*
272-
* デフォルトは、今後変わる可能性があることに注意しましょう。結果が
273-
* 60 文字以上になっても対応できるようにしておきましょう (255 あたりが適切です)
274-
*/
275267
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
276268
?>
277269
]]>
@@ -290,10 +282,8 @@ $2y$12$4Umg0rCJwMswRw/l.SwHvuQV01coP0eWmGzd61QH2RvAOMANUBGC.
290282
<programlisting role="php">
291283
<![CDATA[
292284
<?php
293-
/**
294-
* この例では、bcrypt のコストを上げて、13 にします。
295-
*/
296285
$options = [
286+
// bcrypt のコストを 12 から 13 に増やします
297287
'cost' => 13,
298288
];
299289
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);
@@ -311,16 +301,21 @@ $2y$13$xeDfQumlmdm0Sco.4qmH1OGfUUmOcuRmfae0dPJhjX1Bq0yYhqbNi
311301
<para>
312302
<example>
313303
<title><function>password_hash</function> で、適切なコストを探す例</title>
304+
<simpara>
305+
このコードは、サーバーをベンチマークして、
306+
ユーザー体験を悪化させることなく、
307+
どの程度のコストに耐えられるかを判断します。
308+
サーバーに負荷をかけすぎない範囲で、
309+
できるだけ高めのコストを設定することをお勧めします。
310+
基準として 11 程度からはじめ、サーバーが十分に高速なら、
311+
できるだけ上げていきましょう。
312+
以下のコードでは、
313+
ストレッチングの時間を 350 ミリ秒以内にすることを狙っています。
314+
対話形式のログインを扱う際の許容時間としては、このあたりが適切でしょう。
315+
</simpara>
314316
<programlisting role="php">
315317
<![CDATA[
316318
<?php
317-
/**
318-
* このコードは、サーバーをベンチマークして、どの程度のコストに耐えられるかを判断します。
319-
* サーバーに負荷をかけすぎない範囲で、できるだけ高めのコストを設定したいものです。
320-
* 基準として 11 程度からはじめ、サーバーが十分に高速なら、できるだけ上げていきましょう。
321-
* 以下のコードでは、ストレッチングの時間を 350 ミリ秒以内にすることを狙っています。
322-
* 対話形式のログインを扱う際の許容時間としては、このあたりが適切でしょう。
323-
*/
324319
$timeTarget = 0.350; // 350 ミリ秒
325320
326321
$cost = 11;
@@ -331,7 +326,7 @@ do {
331326
$end = microtime(true);
332327
} while (($end - $start) < $timeTarget);
333328
334-
echo "Appropriate Cost Found: " . $cost;
329+
echo "Appropriate Cost Found: " . $cost - 1;
335330
?>
336331
]]>
337332
</programlisting>
@@ -378,8 +373,8 @@ Argon2i hash: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP
378373
<note>
379374
<para>
380375
実際にサーバー上でこの関数をテストして、コストパラメータの適切な設定値を調整することをお勧めします。
381-
対話型のシステムなら、関数の実行時間が 350 ミリ秒くらいに収まるくらいが適切です。
382-
先ほどの例のスクリプトは、自分のハードウェア上での適切なコストを判断するための助けとなるでしょう
376+
対話型のログインを行わせる場合、関数の実行時間が 350 ミリ秒くらいに収まるくらいが適切です。
377+
先ほどの例のスクリプトは、自分のハードウェア上での適切な bcrypt のコストを判断するための助けとなるでしょう
383378
</para>
384379
</note>
385380
<note>

reference/password/functions/password-verify.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: e302f07943465892db7f72469e2ce9b42c4f763f Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: 5baba54a67be43d689970983cfc6d24debad1ce0 Maintainer: takagi Status: ready -->
44
<refentry xml:id="function.password-verify" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
55
<refnamediv>
66
<refname>password_verify</refname>
@@ -100,7 +100,6 @@ Password is valid!
100100
<simplelist>
101101
<member><function>password_needs_rehash</function></member>
102102
<member><function>password_hash</function></member>
103-
<member><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&url.password.compat;">ユーザーランドでの実装</link></member>
104103
<member><function>sodium_crypto_pwhash_str_verify</function></member>
105104
</simplelist>
106105
</para>

reference/password/setup.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 39b10b2e994f5a39f5face56c5e86ea8507a45a3 Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: 2417d61a29a32b4d495e0df7c25c026e0035a428 Maintainer: takagi Status: ready -->
44

55
<chapter xml:id="password.setup" xmlns:xlink="http://www.w3.org/1999/xlink">
66
&reftitle.setup;
@@ -24,7 +24,8 @@
2424
<option role="configure">--with-password-argon2</option> オプションを使用し
2525
libargon2 のサポートを有効にして PHP をビルドする必要があります。
2626
PHP 8.4.0 以降で libargon2 の代わりに OpenSSL を使う場合、
27-
<option role="configure">--with-openssl</option> オプションを使用し
27+
<option role="configure">--with-openssl</option> と
28+
<option role="configure">--with-openssl-argon2</option> オプションを使用し
2829
OpenSSL を有効にして PHP をビルドする必要があります。
2930
</para>
3031
<para>

0 commit comments

Comments
 (0)