Обновление до английской версии

This commit is contained in:
Sergey Panteleev
2023-01-27 20:43:48 +03:00
parent 3ca50452a2
commit 0573d05edd
6 changed files with 95 additions and 15 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f32912d04f3da53ad720bd782ad5a2483a1d79a0 Maintainer: tmn Status: ready --> <!-- EN-Revision: 6b053588fb22cdc167766d4aa0e2f87cd52ecb32 Maintainer: tmn Status: ready -->
<!-- Reviewed: no --> <!-- Reviewed: no -->
<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.header"> <refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.header">
<refnamediv> <refnamediv>
@ -287,7 +287,7 @@ exit;
<member><function>setcookie</function></member> <member><function>setcookie</function></member>
<member><function>http_response_code</function></member> <member><function>http_response_code</function></member>
<member><function>header_remove</function></member> <member><function>header_remove</function></member>
<member><function>header_list</function></member> <member><function>headers_list</function></member>
<member> <member>
Раздел документации <link linkend="features.http-auth">HTTP-аутентификации</link> Раздел документации <link linkend="features.http-auth">HTTP-аутентификации</link>
</member> </member>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f93ab9943c0246504e18493e315b7638efe81753 Maintainer: rjhdby Status: ready --> <!-- EN-Revision: abc0c909d5a642fbc9008c5ed1a4c3ead5ecb9a2 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no --> <!-- Reviewed: no -->
<refentry xml:id="function.password-hash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refentry xml:id="function.password-hash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv> <refnamediv>
@ -404,8 +404,8 @@ echo 'Хеш Argon2i: ' . password_hash('rasmuslerdorf', PASSWORD_ARGON2I);
<para> <para>
<simplelist> <simplelist>
<member><function>password_verify</function></member> <member><function>password_verify</function></member>
<member><function>password_needs_rehash</function></member>
<member><function>crypt</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> <member><function>sodium_crypto_pwhash_str</function></member>
</simplelist> </simplelist>
</para> </para>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f93ab9943c0246504e18493e315b7638efe81753 Maintainer: rjhdby Status: ready --> <!-- EN-Revision: abc0c909d5a642fbc9008c5ed1a4c3ead5ecb9a2 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no --> <!-- Reviewed: no -->
<refentry xml:id="function.password-verify" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refentry xml:id="function.password-verify" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv> <refnamediv>
@ -65,6 +65,10 @@
<para> <para>
<example> <example>
<title>Пример использования <function>password_verify</function></title> <title>Пример использования <function>password_verify</function></title>
<para>
Это упрощённый пример; при необходимости рекомендуется пересоздать правильный пароль;
смотрите пример в описании функции <function>password_needs_rehash</function>.
</para>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
@ -93,6 +97,7 @@ if (password_verify('rasmuslerdorf', $hash)) {
&reftitle.seealso; &reftitle.seealso;
<para> <para>
<simplelist> <simplelist>
<member><function>password_needs_rehash</function></member>
<member><function>password_hash</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><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> <member><function>sodium_crypto_pwhash_str_verify</function></member>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: fae2756340c4837e09ef8f2713ee972fc649fd6f Maintainer: sergey Status: ready --> <!-- EN-Revision: 4c873e06af079a77438393a39948beb93d256784 Maintainer: sergey Status: ready -->
<!-- Reviewed: no --> <!-- Reviewed: no -->
<book xml:id="book.random" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <book xml:id="book.random" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<?phpdoc extension-membership="core" ?> <?phpdoc extension-membership="core" ?>
@ -21,11 +21,12 @@
&reference.random.random.randomizer; &reference.random.random.randomizer;
&reference.random.random.engine; &reference.random.random.engine;
&reference.random.random.cryptosafeengine;
&reference.random.random.engine.secure;
&reference.random.random.engine.mt19937; &reference.random.random.engine.mt19937;
&reference.random.random.engine.pcgoneseq128xslrr64; &reference.random.random.engine.pcgoneseq128xslrr64;
&reference.random.random.engine.xoshiro256starstar; &reference.random.random.engine.xoshiro256starstar;
&reference.random.random.cryptosafeengine;
&reference.random.random.engine.secure;
&reference.random.random.randomerror; &reference.random.random.randomerror;
&reference.random.random.brokenrandomengineerror; &reference.random.random.brokenrandomengineerror;

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 5e2031dc70157464c05c1c1e00b3201604a025f1 Maintainer: sergey Status: ready --> <!-- EN-Revision: f5b15841e613d09971de3652a8d25da4438cb4a2 Maintainer: sergey Status: ready -->
<!-- Reviewed: no --> <!-- Reviewed: no -->
<refentry xml:id="random-engine-xoshiro256starstar.jump" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refentry xml:id="random-engine-xoshiro256starstar.jump" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv> <refnamediv>
@ -47,16 +47,65 @@
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?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> </programlisting>
&example.outputs.similar; &example.outputs.similar;
<screen> <screen>
<![CDATA[ <![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> </screen>
</example> </example>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 5e2031dc70157464c05c1c1e00b3201604a025f1 Maintainer: sergey Status: ready --> <!-- EN-Revision: f5b15841e613d09971de3652a8d25da4438cb4a2 Maintainer: sergey Status: ready -->
<!-- Reviewed: no --> <!-- Reviewed: no -->
<refentry xml:id="random-engine-xoshiro256starstar.jumplong" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refentry xml:id="random-engine-xoshiro256starstar.jumplong" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv> <refnamediv>
@ -28,7 +28,7 @@
<para> <para>
Метод может быть объединён с <function>Random\Engine\Xoshiro256StarStar::jump</function> Метод может быть объединён с <function>Random\Engine\Xoshiro256StarStar::jump</function>
для дальнейшего разделения каждой из 2<superscript>64</superscript> последовательностей, для дальнейшего разделения каждой из 2<superscript>64</superscript> последовательностей,
сгенерированных данным методом, на 2<superscript>128</superscript> последовательности по 2<superscript>64</superscript> значения каждая. сгенерированных данным методом, на 2<superscript>64</superscript> последовательности по 2<superscript>128</superscript> значения каждая.
</para> </para>
</refsect1> </refsect1>
@ -52,16 +52,41 @@
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?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> </programlisting>
&example.outputs.similar; &example.outputs.similar;
<screen> <screen>
<![CDATA[ <![CDATA[
... Дочерний 1A: b4f275cb365fec99
Дочерний 1B: 2cd646c8ed156237
Дочерний 2A: eb3729a722a504e7
Дочерний 2B: d4208dc85bdd6dc3
]]> ]]>
</screen> </screen>
</example> </example>