mirror of
https://github.com/php/doc-ru.git
synced 2025-07-21 23:23:20 +00:00
Обновление до английской версии
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: f32912d04f3da53ad720bd782ad5a2483a1d79a0 Maintainer: tmn Status: ready -->
|
||||
<!-- EN-Revision: 6b053588fb22cdc167766d4aa0e2f87cd52ecb32 Maintainer: tmn Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.header">
|
||||
<refnamediv>
|
||||
@ -287,7 +287,7 @@ exit;
|
||||
<member><function>setcookie</function></member>
|
||||
<member><function>http_response_code</function></member>
|
||||
<member><function>header_remove</function></member>
|
||||
<member><function>header_list</function></member>
|
||||
<member><function>headers_list</function></member>
|
||||
<member>
|
||||
Раздел документации <link linkend="features.http-auth">HTTP-аутентификации</link>
|
||||
</member>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: f93ab9943c0246504e18493e315b7638efe81753 Maintainer: rjhdby Status: ready -->
|
||||
<!-- EN-Revision: abc0c909d5a642fbc9008c5ed1a4c3ead5ecb9a2 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>
|
||||
@ -404,8 +404,8 @@ echo 'Хеш Argon2i: ' . password_hash('rasmuslerdorf', PASSWORD_ARGON2I);
|
||||
<para>
|
||||
<simplelist>
|
||||
<member><function>password_verify</function></member>
|
||||
<member><function>password_needs_rehash</function></member>
|
||||
<member><function>crypt</function></member>
|
||||
<member><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&url.password.compat;">Пользовательская реализация</link></member>
|
||||
<member><function>sodium_crypto_pwhash_str</function></member>
|
||||
</simplelist>
|
||||
</para>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: f93ab9943c0246504e18493e315b7638efe81753 Maintainer: rjhdby Status: ready -->
|
||||
<!-- EN-Revision: abc0c909d5a642fbc9008c5ed1a4c3ead5ecb9a2 Maintainer: rjhdby Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<refentry xml:id="function.password-verify" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
@ -65,6 +65,10 @@
|
||||
<para>
|
||||
<example>
|
||||
<title>Пример использования <function>password_verify</function></title>
|
||||
<para>
|
||||
Это упрощённый пример; при необходимости рекомендуется пересоздать правильный пароль;
|
||||
смотрите пример в описании функции <function>password_needs_rehash</function>.
|
||||
</para>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
@ -93,6 +97,7 @@ if (password_verify('rasmuslerdorf', $hash)) {
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
<simplelist>
|
||||
<member><function>password_needs_rehash</function></member>
|
||||
<member><function>password_hash</function></member>
|
||||
<member><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&url.password.compat;">пользовательская реализация</link></member>
|
||||
<member><function>sodium_crypto_pwhash_str_verify</function></member>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: fae2756340c4837e09ef8f2713ee972fc649fd6f Maintainer: sergey Status: ready -->
|
||||
<!-- EN-Revision: 4c873e06af079a77438393a39948beb93d256784 Maintainer: sergey Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<book xml:id="book.random" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<?phpdoc extension-membership="core" ?>
|
||||
@ -21,11 +21,12 @@
|
||||
&reference.random.random.randomizer;
|
||||
|
||||
&reference.random.random.engine;
|
||||
&reference.random.random.cryptosafeengine;
|
||||
|
||||
&reference.random.random.engine.secure;
|
||||
&reference.random.random.engine.mt19937;
|
||||
&reference.random.random.engine.pcgoneseq128xslrr64;
|
||||
&reference.random.random.engine.xoshiro256starstar;
|
||||
&reference.random.random.cryptosafeengine;
|
||||
&reference.random.random.engine.secure;
|
||||
|
||||
&reference.random.random.randomerror;
|
||||
&reference.random.random.brokenrandomengineerror;
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 5e2031dc70157464c05c1c1e00b3201604a025f1 Maintainer: sergey Status: ready -->
|
||||
<!-- EN-Revision: f5b15841e613d09971de3652a8d25da4438cb4a2 Maintainer: sergey Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<refentry xml:id="random-engine-xoshiro256starstar.jump" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
@ -47,16 +47,65 @@
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
use Random\Engine\Xoshiro256StarStar;
|
||||
use Random\Randomizer;
|
||||
|
||||
/* ... */
|
||||
$blueprintRng = new Xoshiro256StarStar(0);
|
||||
|
||||
$fibers = [];
|
||||
for ($i = 0; $i < 8; $i++) {
|
||||
$fiberRng = clone $blueprintRng;
|
||||
$blueprintRng->jump();
|
||||
|
||||
$fiber = new Fiber(static function () use ($fiberRng, $i): void {
|
||||
$randomizer = new Randomizer($fiberRng);
|
||||
|
||||
while (true) {
|
||||
Fiber::suspend();
|
||||
echo "{$i}: " . $randomizer->getInt(0, 100), PHP_EOL;
|
||||
}
|
||||
});
|
||||
$fiber->start();
|
||||
|
||||
$fibers[] = $fiber;
|
||||
}
|
||||
|
||||
|
||||
// Даже если файберы выполняются в случайном порядке, они будут выводить одно и то же значение каждый раз,
|
||||
// потому что у каждого из них свой собственный уникальный экземпляр RNG.
|
||||
$randomizer = new Randomizer();
|
||||
|
||||
$fibers = $randomizer->shuffleArray($fibers);
|
||||
foreach ($fibers as $fiber) {
|
||||
$fiber->resume();
|
||||
}
|
||||
|
||||
$fibers = $randomizer->shuffleArray($fibers);
|
||||
foreach ($fibers as $fiber) {
|
||||
$fiber->resume();
|
||||
}
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs.similar;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
...
|
||||
4: 89
|
||||
3: 10
|
||||
2: 63
|
||||
1: 75
|
||||
6: 41
|
||||
5: 56
|
||||
0: 16
|
||||
7: 60
|
||||
7: 34
|
||||
6: 58
|
||||
1: 74
|
||||
4: 63
|
||||
3: 3
|
||||
5: 42
|
||||
2: 45
|
||||
0: 86
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 5e2031dc70157464c05c1c1e00b3201604a025f1 Maintainer: sergey Status: ready -->
|
||||
<!-- EN-Revision: f5b15841e613d09971de3652a8d25da4438cb4a2 Maintainer: sergey Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<refentry xml:id="random-engine-xoshiro256starstar.jumplong" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
@ -28,7 +28,7 @@
|
||||
<para>
|
||||
Метод может быть объединён с <function>Random\Engine\Xoshiro256StarStar::jump</function>
|
||||
для дальнейшего разделения каждой из 2<superscript>64</superscript> последовательностей,
|
||||
сгенерированных данным методом, на 2<superscript>128</superscript> последовательности по 2<superscript>64</superscript> значения каждая.
|
||||
сгенерированных данным методом, на 2<superscript>64</superscript> последовательности по 2<superscript>128</superscript> значения каждая.
|
||||
</para>
|
||||
|
||||
</refsect1>
|
||||
@ -52,16 +52,41 @@
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
$blueprintRng = new \Random\Engine\Xoshiro256StarStar(0);
|
||||
|
||||
/* ... */
|
||||
// У каждого родительского движка свой собственный блок из 2**192 значений.
|
||||
$parent1 = clone $blueprintRng;
|
||||
$blueprintRng->jumpLong();
|
||||
|
||||
$parent2 = clone $blueprintRng;
|
||||
$blueprintRng->jumpLong();
|
||||
|
||||
// У каждого из дочерних движков свой собственный блок из 2**128 значений,
|
||||
взятый из блока 2**192 значений их родительского движка.
|
||||
$child1a = clone $parent1;
|
||||
$parent1->jump();
|
||||
$child1b = clone $parent1;
|
||||
$parent1->jump();
|
||||
|
||||
$child2a = clone $parent2;
|
||||
$parent2->jump();
|
||||
$child2b = clone $parent2;
|
||||
$parent2->jump();
|
||||
|
||||
echo "Дочерний 1A: ", bin2hex( $child1a->generate() ), "\n";
|
||||
echo "Дочерний 1B: ", bin2hex( $child1b->generate() ), "\n";
|
||||
echo "Дочерний 2A: ", bin2hex( $child2a->generate() ), "\n";
|
||||
echo "Дочерний 2B: ", bin2hex( $child2b->generate() ), "\n";
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs.similar;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
...
|
||||
Дочерний 1A: b4f275cb365fec99
|
||||
Дочерний 1B: 2cd646c8ed156237
|
||||
Дочерний 2A: eb3729a722a504e7
|
||||
Дочерний 2B: d4208dc85bdd6dc3
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
|
Reference in New Issue
Block a user