Files
php-doc-ru/reference/password/functions/password-needs-rehash.xml
Sergey Panteleev fcc7ffa54c docs(ru): Updated to English revision
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@349908 c90b9560-bf6c-de11-be94-00142212c4b1
2020-05-18 05:05:03 +00:00

145 lines
4.4 KiB
XML
Raw 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"?>
<!-- $Revision$ -->
<!-- EN-Revision: c9596f7576ae7b476b9592522320f0f53ce1c0c0 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.password-needs-rehash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>password_needs_rehash</refname>
<refpurpose>Проверяет, что указанный хеш соответствует заданным опциям</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>password_needs_rehash</methodname>
<methodparam><type>string</type><parameter>hash</parameter></methodparam>
<methodparam><type>mixed</type><parameter>algo</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>options</parameter></methodparam>
</methodsynopsis>
<para>
Проверяет, что указанный хеш соответствует заданным опциям и заданному алгоритму.
Если нет, то можно сделать вывод о том, что хеш надо пересоздать.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>hash</parameter></term>
<listitem>
<para>
&password.parameter.hash;
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>algo</parameter></term>
<listitem>
<para>
&password.parameter.algo;
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
&password.parameter.options;
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>password_needs_rehash</function></title>
<programlisting role="php">
<![CDATA[
<?php
$password = 'rasmuslerdorf';
$hash = '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS';
// Параметр стоимости может изменяться в связи со сменой оборудования
$options = array('cost' => 11);
// Проверка сохраненного хеша с помощью пароля
if (password_verify($password, $hash)) {
// Проверяем, не нужно ли использовать более новый алгоритм
// или другую алгоритмическую стоимость
if (password_needs_rehash($hash, PASSWORD_DEFAULT, $options)) {
// Если таки да, перехешируем и сохраняем новый хеш
$newHash = password_hash($password, PASSWORD_DEFAULT, $options);
}
// Авторизуем пользователя
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает &true;, если пароль должен быть перехеширован с использованием
алгоритма <parameter>algo</parameter> и опций <parameter>options</parameter>,
или &false;, если нет.
</para>
</refsect1>
<refsect1 role="changelog">
&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>
Параметр <parameter>algo</parameter> сейчас ожидает строку (&string;), но все еще принимает
число (&integer;) для обратной совместимости.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
</refentry>
<!-- 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
-->