Update to English password-hash.xml

This commit is contained in:
Mikhail Alferov
2024-05-21 19:49:38 +03:00
committed by GitHub
parent 22c9fdf6f6
commit 249374cfde

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: c6b95280cf10b6b252683ee7d86416c4c27deb4e Maintainer: rjhdby Status: ready -->
<!-- EN-Revision: 5bc68add3da3cd18c40f851e944b15095d3a26aa Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.password-hash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
@ -11,12 +11,12 @@
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>password_hash</methodname>
<methodparam><type>string</type><parameter>password</parameter></methodparam>
<methodparam><modifier role="attribute">#[\SensitiveParameter]</modifier><type>string</type><parameter>password</parameter></methodparam>
<methodparam><type class="union"><type>string</type><type>int</type><type>null</type></type><parameter>algo</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam>
</methodsynopsis>
<para>
Функция <function>password_hash</function> создаёт хеш пароля, используя сильный необратимый алгоритм хеширования.
Функция <function>password_hash</function> создаёт хеш пароля через сильный необратимый алгоритм хеширования.
</para>
<simpara>
Поддерживаются следующие алгоритмы:
@ -25,7 +25,7 @@
<itemizedlist>
<listitem>
<simpara>
<constant>PASSWORD_DEFAULT</constant>будет выбран алгоритм bcrypt (по умолчанию с PHP 5.5.0).
<constant>PASSWORD_DEFAULT</constant>функция выберет алгоритм bcrypt (по умолчанию с PHP 5.5.0).
Обратите внимание, алгоритм может измениться на более
сильный, когда такой добавится в PHP. При изменении алгоритма и длина результата
также может измениться. Поэтому длину поля для хранения
@ -34,7 +34,7 @@
</listitem>
<listitem>
<simpara>
<constant>PASSWORD_BCRYPT</constant>будет выбран алгоритм
<constant>PASSWORD_BCRYPT</constant>функция выберет алгоритм
<constant>CRYPT_BLOWFISH</constant>. Генерирует стандартный хеш с идентификатором "$2y$",
совместимый с тем, который генерирует функция <function>crypt</function>.
В результате будет сгенерирована строка длиной 60 символов&return.falseforfailure;.
@ -42,13 +42,13 @@
</listitem>
<listitem>
<simpara>
<constant>PASSWORD_ARGON2I</constant>будет выбран алгоритм хеширования Argon2i.
<constant>PASSWORD_ARGON2I</constant>функция выберет алгоритм хеширования Argon2i.
Этот алгоритм будет доступен, только если PHP собран с поддержкой Argon2.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>PASSWORD_ARGON2ID</constant>будет выбран алгоритм хеширования Argon2id.
<constant>PASSWORD_ARGON2ID</constant>функция выберет алгоритм хеширования Argon2id.
Этот алгоритм будет доступен, только если PHP собран с поддержкой Argon2.
</simpara>
</listitem>
@ -66,15 +66,15 @@
автоматическое создание соли.
</para>
<para>
Если не задано, то функция <function>password_hash</function> будет генерировать
Если не задали, то функция <function>password_hash</function> будет генерировать
случайную соль для каждого хешируемого пароля. Это предпочтительный
режим работы.
</para>
<warning>
<para>
Эта опция объявлена устаревшей.
Эту опцию объявили устаревшей.
Рекомендуется использовать автоматически генерируемую соль.
Начиная с PHP 8.0.0 явно заданная соль игнорируется.
Начиная с PHP 8.0.0 соль, которую задали явно, игнорируется.
</para>
</warning>
</listitem>
@ -93,8 +93,8 @@
</itemizedlist>
</para>
<simpara>
Поддерживаемые опции для <constant>PASSWORD_ARGON2I</constant> и
<constant>PASSWORD_ARGON2ID</constant>:
Поддерживаемые опции для <constant>PASSWORD_ARGON2I</constant>
и <constant>PASSWORD_ARGON2ID</constant>:
</simpara>
<para>
<itemizedlist>
@ -160,8 +160,8 @@
&password.parameter.options;
</para>
<para>
Если не задано, то будет использована стандартная стоимость, и соль будет
сгенерирована автоматически.
Если не задали, функция использует стандартная стоимость, и сгенерирует соль
автоматически.
</para>
</listitem>
</varlistentry>
@ -171,12 +171,12 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает хешированный пароль.
Функция возвращает хешированный пароль.
</para>
<para>
Выбранный алгоритм, стоимость и соль будут возвращены как часть хеша.
Таким образом, информация, необходимая для проверки хеша, будет в него
включена. Это позволит функции <function>password_verify</function> проверять
Алгоритм, который выбрала функция, стоимость и соль возвращаются как часть хеша.
Поэтому информацию, которая требуется для проверки хеша, функция включит
в хеш. Это позволит функции <function>password_verify</function> проверять
хеш без отдельного хранения информации о соли и алгоритме.
</para>
</refsect1>
@ -196,8 +196,8 @@
<row>
<entry>8.0.0</entry>
<entry>
<function>password_hash</function> больше не возвращает значение &false; в случае возникновения ошибки.
Вместо этого будет выброшено исключение <classname>ValueError</classname>,
Функция <function>password_hash</function> больше не возвращает значение &false;, если возникла ошибка.
Вместо этого функция выбросит исключение <classname>ValueError</classname>,
если алгоритм хеширования пароля недействителен, или <classname>Error</classname>,
если хеширование пароля не удалось из-за неизвестной ошибки.
</entry>
@ -205,14 +205,14 @@
<row>
<entry>8.0.0</entry>
<entry>
Параметр <parameter>algo</parameter> теперь допускает значение &null;.
Параметр <parameter>algo</parameter> теперь принимает значение &null;.
</entry>
</row>
<row>
<entry>7.4.0</entry>
<entry>
Параметр <parameter>algo</parameter> теперь ожидает строку (&string;), но всё ещё принимает
число (&integer;) для обратной совместимости.
целое число (&integer;) для обратной совместимости.
</entry>
</row>
<row>
@ -224,13 +224,13 @@
<row>
<entry>7.3.0</entry>
<entry>
Добавлена поддержка алгоритма хеширования паролей Argon2id с помощью <constant>PASSWORD_ARGON2ID</constant>.
Добавили поддержку алгоритма хеширования паролей Argon2id через алгоритм <constant>PASSWORD_ARGON2ID</constant>.
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
Добавлена поддержка хеширующего алгоритма Argon2i с помощью <constant>PASSWORD_ARGON2I</constant>.
Добавили поддержку хеширующего алгоритма Argon2i через алгоритм <constant>PASSWORD_ARGON2I</constant>.
</entry>
</row>
</tbody>
@ -243,12 +243,13 @@
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>password_hash</function></title>
<title>Пример использования функции <function>password_hash</function></title>
<programlisting role="php">
<![CDATA[
<?php
/**
* Мы просто хотим захешировать пароль с настройками по умолчанию.
* Просто хотим захешировать пароль с настройками по умолчанию.
* Значит, будет выбран алгоритм BCRYPT и результат будет длиной 60 символов.
*
* Помните, что алгоритм по умолчанию может измениться в будущем, так что
@ -256,6 +257,7 @@
* смогла хранить более 60 символов (а лучше 255)
*/
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
?>
]]>
</programlisting>
@ -269,18 +271,23 @@ $2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
</para>
<para>
<example>
<title>Пример использования <function>password_hash</function> с ручным заданием стоимости</title>
<title>
Пример использования функции <function>password_hash</function> с ручным указанием стоимости
</title>
<programlisting role="php">
<![CDATA[
<?php
/**
* Тут мы увеличиваем алгоритмическую стоимость BCRYPT до 12.
* Тут увеличиваем алгоритмическую стоимость BCRYPT до 12.
* Но это никак не скажется на длине полученного результата, она останется 60 символов
*/
$options = [
'cost' => 12,
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);
?>
]]>
</programlisting>
@ -299,8 +306,9 @@ $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
<programlisting role="php">
<![CDATA[
<?php
/**
* Данный код замерит скорость выполнения операции с разными значениями алгоритмической сложности хеширования
* Этот код замерит скорость выполнения операции с разными значениями алгоритмической сложности хеширования
* на вашем сервере и определит
* его максимальное значение, не приводящее к деградации производительности. Хорошее базовое
* значение — 10, но если ваш сервер достаточно мощный, то можно
@ -311,6 +319,7 @@ $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
$timeTarget = 0.350; // 350 миллисекунд
$cost = 8;
do {
$cost++;
$start = microtime(true);
@ -319,6 +328,7 @@ do {
} while (($end - $start) < $timeTarget);
echo "Оптимальная стоимость: " . $cost;
?>
]]>
</programlisting>
@ -332,11 +342,15 @@ echo "Оптимальная стоимость: " . $cost;
</para>
<para>
<example>
<title>Пример использования функции <function>password_hash</function> с Argon2i</title>
<title>
Пример использования функции <function>password_hash</function> с алгоритмом Argon2i
</title>
<programlisting role="php">
<![CDATA[
<?php
echo 'Хеш Argon2i: ' . password_hash('rasmuslerdorf', PASSWORD_ARGON2I);
?>
]]>
</programlisting>