Files
php-doc-ru/reference/sodium/functions/sodium-memcmp.xml
2024-05-23 16:15:13 +03:00

80 lines
2.9 KiB
XML
Raw Permalink 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: d76a7fe17dd2488e47d664a8ab38e161b13ac843 Maintainer: lex Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.sodium-memcmp" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>sodium_memcmp</refname>
<refpurpose>Проверяет на равенство за постоянное время</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>sodium_memcmp</methodname>
<methodparam><modifier role="attribute">#[\SensitiveParameter]</modifier><type>string</type><parameter>string1</parameter></methodparam>
<methodparam><modifier role="attribute">#[\SensitiveParameter]</modifier><type>string</type><parameter>string2</parameter></methodparam>
</methodsynopsis>
<para>
Функция сравнивает две строки за постоянное время.
</para>
<para>
На практике чаще вместо этой функции вызывают функцию <function>hash_equals</function>,
поскольку она предоставляет ту же логику, но возвращает логическое значение (<type>bool</type>) вместо целого числа (<type>int</type>).
Однако, если вы используете возвращаемое значение сравнения в вычислениях, которые чувствительны ко времени,
и беспокоитесь об утечках времени при преобразованиях типа bool-to-int, функция <function>sodium_memcmp</function> — идеальная замена.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>string1</parameter></term>
<listitem>
<para>
Строка для сравнения.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>string2</parameter></term>
<listitem>
<para>
Другая строка для сравнения.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает <literal>0</literal>, если обе строки равны;
иначе <literal>-1</literal>.
</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
-->