1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-25 08:12:14 +01:00
Files
archived-doc-ru/reference/random/functions/random-bytes.xml
2024-04-23 02:43:41 +03:00

142 lines
4.8 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"?>
<!-- EN-Revision: f08b9a8aee8330c248cd84b3f546391fedccd9f1 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.random-bytes" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>random_bytes</refname>
<refpurpose>Получает криптографически безопасные случайные байты</refpurpose>
</refnamediv>
<refsect1 role="description"><!-- {{{ -->
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>random_bytes</methodname>
<methodparam><type>int</type><parameter>length</parameter></methodparam>
</methodsynopsis>
<para>
Функция создаёт строку, которая содержит равномерно выбранные случайные байты с запрошенной длиной <parameter>length</parameter>.
</para>
<para>
Поскольку возвращаемые байты выбираются совершенно случайно,
полученная строка может содержать непечатаемые символы или недопустимые последовательности UTF-8.
Может потребоваться её кодирование перед передачей или отображением.
</para>
<para>
Случайная последовательность, которую создаёт функция, подходит для всех приложений,
включая генерацию долгосрочных секретов, таких как ключи шифрования.
</para>
&csprng.sources;
&csprng.function.backport;
</refsect1><!-- }}} -->
<refsect1 role="parameters"><!-- {{{ -->
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Длина генерируемой строки в байтах; значение должно быть равно или больше <literal>1</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1><!-- }}} -->
<refsect1 role="returnvalues"><!-- {{{ -->
&reftitle.returnvalues;
<para>
Функция возвращает строку, которая состоит из заданного количества криптографически безопасных байтов.
</para>
</refsect1><!-- }}} -->
<refsect1 role="errors"><!-- {{{ -->
&reftitle.errors;
<itemizedlist>
&csprng.errors;
<listitem>
<simpara>
Если значение параметра <parameter>length</parameter> меньше <literal>1</literal>,
будет выброшена ошибка <classname>ValueError</classname>.
</simpara>
</listitem>
</itemizedlist>
</refsect1><!-- }}} -->
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.2.0</entry>
<entry>
В случае возникновения ошибки <acronym>CSPRNG</acronym>,
функция теперь будет выбрасывать исключение <classname>Random\RandomException</classname>.
Ранее выбрасывалось исключение <classname>Exception</classname>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples"><!-- {{{ -->
&reftitle.examples;
<example xml:id="random-bytes.example.basic"><!-- {{{ -->
<title>Пример использования <function>random_bytes</function></title>
<programlisting role="php">
<![CDATA[
<?php
$bytes = random_bytes(5);
var_dump(bin2hex($bytes));
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
string(10) "385e33f741"
]]>
</screen>
</example><!-- }}} -->
</refsect1><!-- }}} -->
<refsect1 role="seealso"><!-- {{{ -->
&reftitle.seealso;
<simplelist>
<member><function>Random\Randomizer::getBytes</function></member>
<member><function>random_int</function></member>
<member><function>bin2hex</function></member>
<member><function>base64_encode</function></member>
</simplelist>
</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
-->