1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-25 16:02:13 +01:00
Files
archived-doc-es/reference/mcrypt/functions/mcrypt-module-open.xml
Diego Agulló Falcó 5cb6ad2038 Updated changes from current EN revision
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@328498 c90b9560-bf6c-de11-be94-00142212c4b1
2012-11-26 15:06:14 +00:00

185 lines
6.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d860e9cfc071a7ee71a496132997b9bf7dce5392 Maintainer: aeoris Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.mcrypt-module-open" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mcrypt_module_open</refname>
<refpurpose>Abre el módulo del algoritmo y el modo a ser utilizados</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>mcrypt_module_open</methodname>
<methodparam><type>string</type><parameter>algorithm</parameter></methodparam>
<methodparam><type>string</type><parameter>algorithm_directory</parameter></methodparam>
<methodparam><type>string</type><parameter>mode</parameter></methodparam>
<methodparam><type>string</type><parameter>mode_directory</parameter></methodparam>
</methodsynopsis>
<para>
Esta función abre el módulo del algoritmo y el modo a ser utilizados.
El nombre del algoritmo es especificado en algorithm, por ejemplo <literal>"twofish"</literal> o
una de las constantes <constant>MCRYPT_ciphername</constant>. El módulo es cerrado al invocar a
<function>mcrypt_module_close</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>algorithm</parameter></term>
<listitem>
&mcrypt.parameter.cipher;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>algorithm_directory</parameter></term>
<listitem>
<para>
El parámetro <parameter>algorithm_directory</parameter> se utiliza para
ubicar el módulo de encriptación. Cuando se pasa un nombre de directorio,
es utilizado. Cuando se pasa una cadena vacía (<literal>""</literal>), se
utiliza el valor configurado en la directiva <literal>mcrypt.algorithms_dir</literal>
del fichero &php.ini;. Cuando no se pasa nada, el directorio por defecto
que se utiliza es en el que libmcrypt fue compilado (generalmente <filename>/usr/local/lib/libmcrypt</filename>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
&mcrypt.parameter.mode;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode_directory</parameter></term>
<listitem>
<para>
El parámetro <parameter>mode_directory</parameter> se utiliza para
ubicar el módulo de encriptación. Cuando se pasa un nombre de directorio,
es utilizado. Cuando se pasa una cadena vacía (<literal>""</literal>), se
utiliza el valor configurado en la directiva <literal>mcrypt.modes_dir</literal>
del fichero &php.ini;. Cuando no se pasa nada, el directorio por defecto
que se utiliza es en el que libmcrypt fue compilado (generalmente <filename>/usr/local/lib/libmcrypt</filename>).
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Normalmente devuelve un descriptor de cifrado, o &false; en caso de error.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>mcrypt_module_open</function></title>
<programlisting role="php">
<![CDATA[
<?php
$td = mcrypt_module_open(MCRYPT_DES, '',
MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');
$td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
?>
]]>
</programlisting>
</example>
</para>
<para>
La primer línea del ejemplo anterior intentará abrir el cifrador <literal>DES</literal> desde
el directorio por defecto y el modo <literal>ECB</literal> desde el directorio
<filename>/usr/lib/mcrypt-modes</filename>. El segundo ejemplo utiliza
cadenas como nombres para el cifrador y el modo, esto solo funciona cuando la
extensión está enlazado con libmcrypt 2.4.x o 2.5.x.
</para>
<para>
<example>
<title>Utilizando <function>mcrypt_module_open</function> en el proceso de cifrado</title>
<programlisting role="php">
<![CDATA[
<?php
/* Open the cipher */
$td = mcrypt_module_open('rijndael-256', '', 'ofb', '');
/* Create the IV and determine the keysize length, use MCRYPT_RAND
* on Windows instead */
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
$ks = mcrypt_enc_get_key_size($td);
/* Create key */
$key = substr(md5('very secret key'), 0, $ks);
/* Intialize encryption */
mcrypt_generic_init($td, $key, $iv);
/* Encrypt data */
$encrypted = mcrypt_generic($td, 'This is very important data');
/* Terminate encryption handler */
mcrypt_generic_deinit($td);
/* Initialize encryption module for decryption */
mcrypt_generic_init($td, $key, $iv);
/* Decrypt encrypted string */
$decrypted = mdecrypt_generic($td, $encrypted);
/* Terminate decryption handle and close module */
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
/* Show string */
echo trim($decrypted) . "\n";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>mcrypt_module_close</function></member>
<member><function>mcrypt_generic</function></member>
<member><function>mdecrypt_generic</function></member>
<member><function>mcrypt_generic_init</function></member>
<member><function>mcrypt_generic_deinit</function></member>
</simplelist>
</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
-->