mirror of
https://github.com/php/doc-ru.git
synced 2026-03-24 07:42:22 +01:00
111 lines
5.0 KiB
XML
111 lines
5.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: e849a6c4225bd992474793ec6983df7898cae0be Maintainer: rjhdby Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.mcrypt-generic">
|
||
<refnamediv>
|
||
<refname>mcrypt_generic</refname>
|
||
<refpurpose>Функция шифрует данные</refpurpose>
|
||
</refnamediv>
|
||
<refsynopsisdiv>
|
||
&warn.deprecated.function-7-1-0.removed-7-2-0;
|
||
</refsynopsisdiv>
|
||
<refsect1 role="description">
|
||
&reftitle.description;
|
||
<methodsynopsis>
|
||
<type>string</type><methodname>mcrypt_generic</methodname>
|
||
<methodparam><type>resource</type><parameter>td</parameter></methodparam>
|
||
<methodparam><type>string</type><parameter>data</parameter></methodparam>
|
||
</methodsynopsis>
|
||
<simpara>
|
||
Эта функция шифрует данные. Данные будут дополнены символами "<literal>\0</literal>"
|
||
для того, чтобы их размер стал кратен размеру блока. Эта функция возвращает
|
||
зашифрованные данные. Обратите внимание, что длина возвращаемой строки
|
||
может быть больше исходной из-за дополнения.
|
||
</simpara>
|
||
<simpara>
|
||
Если вы хотите хранить шифрованные данные в базе данных, убедитесь, что
|
||
вы сохраняете строку полностью, как она была возвращена этой функцией, иначе
|
||
вы потом не сможете её расшифровать. Если ваша оригинальная строка была 10
|
||
символов длиной, а размер блока равен 8 (используйте
|
||
<function>mcrypt_enc_get_block_size</function> для определения размера блока),
|
||
то размер столбца базы данных должен быть как минимум 16 символов.
|
||
Обратите внимание, что строка возвращаемая
|
||
<function>mdecrypt_generic</function> также будет размером 16 символов. В таком
|
||
случае просто используйте rtrim($str, "\0") для удаления добавленных символов.
|
||
</simpara>
|
||
<simpara>
|
||
К примеру, если вы сохраните данные в MySQL, помните, что при вставке значений в
|
||
поля типа VARCHAR, у них автоматически отбрасываются пробелы из конца строки.
|
||
Если зашифрованные данные кончаются на пробел (ASCII 32), то они будут
|
||
повреждены при такой вставке. Лучше используйте для хранения поля
|
||
типа TINYBLOB/TINYTEX или больше.
|
||
</simpara>
|
||
</refsect1>
|
||
|
||
<refsect1 role="parameters">
|
||
&reftitle.parameters;
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><parameter>td</parameter></term>
|
||
<listitem>
|
||
<simpara>
|
||
Дескриптор шифрования.
|
||
</simpara>
|
||
<simpara>
|
||
Обработчик шифрования всегда должен инициализироваться с помощью
|
||
<function>mcrypt_generic_init</function> с ключом и инициализирующим вектором
|
||
перед вызовом функции. Как только шифрование завершено, необходимо освободить
|
||
буферы шифрования путём вызова функции <function>mcrypt_generic_deinit</function>.
|
||
Смотрите пример в описании функции <function>mcrypt_module_open</function>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><parameter>data</parameter></term>
|
||
<listitem>
|
||
<simpara>
|
||
Данные для шифрования.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</refsect1>
|
||
|
||
<refsect1 role="returnvalues">
|
||
&reftitle.returnvalues;
|
||
<simpara>
|
||
Возвращает зашифрованные данные.
|
||
</simpara>
|
||
</refsect1>
|
||
|
||
<refsect1 role="seealso">
|
||
&reftitle.seealso;
|
||
<simplelist>
|
||
<member><function>mdecrypt_generic</function></member>
|
||
<member><function>mcrypt_generic_init</function></member>
|
||
<member><function>mcrypt_generic_deinit</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
|
||
-->
|