1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-23 23:32:16 +01:00
Files
archived-doc-ru/reference/password/constants.xml
2025-04-23 04:09:04 +03:00

254 lines
9.6 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 66aff414be91c5a0446be585aa6ac78121de1e67 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<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$" длиной 60 символов.
</para>
<para>
Константа поддерживает следующие опции:
</para>
<itemizedlist>
<listitem>
<para>
<literal>salt</literal> (<type>string</type>) — ручное значение соли для хеширования пароля.
Обратите внимание, значение переопределит и предотвратит автоматическую
генерацию соли.
</para>
<para>
При пропуске параметра функция <function>password_hash</function> сгенерирует случайную соль
для каждого пароля. Это предпочтительный способ,
а с PHP 7.0.0 опцию salt объявили устаревшей.
</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>
Значения идентификаторов алгоритма пароля — <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
-->