1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-23 22:52:11 +01:00
Files
archived-doc-ja/reference/password/constants.xml
2025-09-02 19:24:28 +09:00

259 lines
8.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 66aff414be91c5a0446be585aa6ac78121de1e67 Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->
<appendix xml:id="password.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.constants;
&extension.constants.core;
<para>
<variablelist>
<varlistentry xml:id="constant.password-bcrypt">
<term>
<constant>PASSWORD_BCRYPT</constant>
(<type>string</type>)
</term>
<listitem>
<para>
<constant>PASSWORD_BCRYPT</constant> を使うと、
<constant>CRYPT_BLOWFISH</constant> アルゴリズムで新たなパスワードハッシュを作ります。
</para>
<para>
これは常に、"$2y$" crypt フォーマットを使ったハッシュになります。
長さは常に 60 文字です。
</para>
<para>
サポートするオプション
</para>
<itemizedlist>
<listitem>
<para>
<literal>salt</literal> (<type>string</type>) - パスワードのハッシュに使うソルトを手動で設定します。
これは、自動生成されたソルトを上書きすることに注意しましょう。
</para>
<para>
省略した場合は、パスワードをハッシュするたびに <function>password_hash</function>
がランダムなソルトを自動生成します。これは意図したとおりの操作モードです。
および PHP 7.0.0 以降でソルト・オプションは非推奨になりました。
</para>
</listitem>
<listitem>
<para>
<literal>cost</literal> (<type>int</type>) - 利用するアルゴリズムのコストを表します。
値の例については <function>crypt</function> のページを参照ください。
</para>
<para>
省略した場合のデフォルトは <literal>12</literal> です。この値でもかまいませんが、
ハードウェアの性能が許すならもう少し高くすることもできます。
</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.password-bcrypt-default-cost">
<term>
<constant>PASSWORD_BCRYPT_DEFAULT_COST</constant>
(<type>int</type>)
</term>
<listitem>
<para>
</para>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.password-argon2i">
<term>
<constant>PASSWORD_ARGON2I</constant>
(<type>string</type>)
</term>
<listitem>
<para>
<constant>PASSWORD_ARGON2I</constant> を使うと、
Argon2i アルゴリズムで新たなパスワードハッシュを作ります。
</para>
<para>
サポートするオプション
</para>
<itemizedlist>
<listitem>
<para>
<literal>memory_cost</literal> (<type>int</type>) -
Argon2 ハッシュの計算に用いるメモリの最大値 (キロバイト数) を設定します。
デフォルトは <constant>PASSWORD_ARGON2_DEFAULT_MEMORY_COST</constant> です。
</para>
</listitem>
<listitem>
<para>
<literal>time_cost</literal> (<type>int</type>) -
Argon2 ハッシュの計算にかける時間の最大値を設定します。
デフォルトは <constant>PASSWORD_ARGON2_DEFAULT_TIME_COST</constant> です。
</para>
</listitem>
<listitem>
<para>
<literal>threads</literal> (<type>int</type>) -
Argon2 ハッシュの計算に用いるスレッド数を設定します。
デフォルトは <constant>PASSWORD_ARGON2_DEFAULT_THREADS</constant> です。
libargon2 を使う場合のみ利用可能で、
libsodium の実装には含まれていません。
</para>
</listitem>
</itemizedlist>
<para>
PHP 7.2.0 以降で利用可能です。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.password-argon2id">
<term>
<constant>PASSWORD_ARGON2ID</constant>
(<type>string</type>)
</term>
<listitem>
<para>
<constant>PASSWORD_ARGON2ID</constant> を使うと、
Argon2id アルゴリズムで新たなパスワードハッシュを作ります。
サポートされるオプションは、
<link linkend="constant.password-argon2i"><constant>PASSWORD_ARGON2I</constant></link>
と同じです。
</para>
<para>
PHP 7.3.0 以降で利用可能です。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.password-argon2-default-memory-cost">
<term>
<constant>PASSWORD_ARGON2_DEFAULT_MEMORY_COST</constant>
(<type>int</type>)
</term>
<listitem>
<para>
ハッシュの計算に用いるメモリのデフォルト値。
</para>
<para>
PHP 7.2.0 以降で利用可能です。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.password-argon2-default-time-cost">
<term>
<constant>PASSWORD_ARGON2_DEFAULT_TIME_COST</constant>
(<type>int</type>)
</term>
<listitem>
<para>
ハッシュの計算にかける時間のデフォルト値。
</para>
<para>
PHP 7.2.0 以降で利用可能です。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.password-argon2-default-threads">
<term>
<constant>PASSWORD_ARGON2_DEFAULT_THREADS</constant>
(<type>int</type>)
</term>
<listitem>
<para>
Argon2lib が用いるデフォルトのスレッド数。
libsodium の実装では利用できません。
</para>
<para>
PHP 7.2.0 以降で利用可能です。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.password-argon2-provider">
<term>
<constant>PASSWORD_ARGON2_PROVIDER</constant>
(<type>string</type>)
</term>
<listitem>
<para>
</para>
<para>
PHP 7.4.0 以降で利用可能です。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.password-default">
<term>
<constant>PASSWORD_DEFAULT</constant>
(<type>string</type>)
</term>
<listitem>
<para>
アルゴリズムを指定しなかったときのデフォルトとして使うアルゴリズム。
PHP のバージョンが上がるときに、
その時点でより強力なハッシュアルゴリズムに対応していればデフォルトが変わる可能性があります。
</para>
<para>
この定数の値は、今後変わる可能性があることに注意しましょう。
つまり、生成されるハッシュの長さも変わる可能性があるということです。
したがって、<constant>PASSWORD_DEFAULT</constant> を使う場合は、
ハッシュの格納先は任意の長さのハッシュを格納できるようにしておく必要があります。
お勧めの長さは <literal>255</literal> バイトです。
</para>
<simpara>
現状は、<constant>PASSWORD_BCRYPT</constant> のエイリアスです。
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<formalpara>
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.4.0</entry>
<entry>
パスワードのアルゴリズムのID (<constant>PASSWORD_BCRYPT</constant>, <constant>PASSWORD_ARGON2I</constant>,
<constant>PASSWORD_ARGON2ID</constant>, <constant>PASSWORD_DEFAULT</constant>)
は、&string; に変更されました。
これより前のバージョンでは、&integer; でした。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</formalpara>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->