1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-23 23:32:16 +01:00
Files
archived-doc-ru/reference/hash/book.xml
Mikhail Alferov 7d0260929b Update a191392 to En (#1095)
* Update book.xml to en

* Update hash-hkdf.xml to en

* Update hash-update-stream.xml to en
2025-07-31 23:22:34 +03:00

98 lines
5.3 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: a19139232af73a3c2054fcf5a687640ade63a393 Maintainer: aur Status: ready -->
<!-- Reviewed: no -->
<book xml:id="book.hash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="interactive">
<?phpdoc extension-membership="core" ?>
<title>Фреймворк HASH для дайджеста сообщений</title>
<titleabbrev>Hash</titleabbrev>
<!-- {{{ preface -->
<preface xml:id="intro.hash">
&reftitle.intro;
<para>
Функции модуля напрямую или инкрементно обрабатывают
сообщения произвольной длины через алгоритмы
хеширования, включая генерацию <acronym>HMAC</acronym>-значений
и производных ключей, которые включают <acronym>HKDF</acronym>-
и <acronym>PBKDF2</acronym>-ключи.
</para>
<para>
Подробный список алгоритмов приводит описание функции <function>hash_algos</function>,
а алгоритмы хеширования входят в три условные категории:
<itemizedlist>
<listitem>
<simpara>
Алгоритмы контрольной суммы наподобие <literal>crc32b</literal> или <literal>adler32</literal>:
вычисляют контрольные суммы, которые приносят пользу, когда требуется
обнаружить ошибки передачи. Алгоритмы этой категории часто работают очень быстро.
Эти алгоритмы часто генерируют значения, которые «легко угадать» или которыми иногда
манипулируют, чтобы создавать коллизии, поэтому они непригодны в криптографических целях.
</simpara>
</listitem>
<listitem>
<simpara>
Некриптографические алгоритмы наподобие алгоритмов семейства xxHash:
этими алгоритмами часто вычисляют хеш-значения для хеш-таблиц, поскольку
алгоритмы этой категории дают хорошее распределение по произвольным строковым входным данным.
Они также в общем быстрые, но также непригодны в криптографических целях.
</simpara>
</listitem>
<listitem>
<simpara>
Криптографические алгоритмы наподобие семейства SHA-2:
получают хеш-значения, которые представляют
входные данные, но не поддаются угадыванию и не создают коллизии. Производительность
часто играет второстепенную роль, но современное оборудование часто поддерживает
обработку этих алгоритмов, которую PHP пытается использовать, когда она доступна.
</simpara>
<simpara>
Центр ресурсов компьютерной безопасности (Computer Security Resource Center)
Национального института стандартов и технологий США (<acronym>NIST</acronym>)
<link xlink:href="&url.hash.nist-hash-functions;">объясняет алгоритмы, которые одобрили
федеральные стандарты обработки информации США (US FIPS))</link>.
</simpara>
<para>
Испытания доказали, что ранние криптографические алгоритмы наподобие <literal>md4</literal>,
<literal>md5</literal> и <literal>sha1</literal> оказались
подвержены коллизионным атакам, и часто рекомендуется
больше не использовать их для криптографических приложений.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Смотрите также <link linkend="faq.passwords">FAQ по безопасному хешированию паролей</link>,
которые дают информацию о лучших практиках работы с хеш-функциями при обработке
паролей.
</para>
</preface>
<!-- }}} -->
&reference.hash.setup;
&reference.hash.constants;
&reference.hash.hashcontext;
&reference.hash.reference;
</book><!-- 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
-->