1
0
mirror of https://github.com/php/doc-es.git synced 2026-04-29 01:53:12 +02:00
Files
2025-07-03 21:51:59 +02:00

192 lines
6.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e5ab2937efd9b1d7184993e0fdfa957893f7f827 Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.openssl-decrypt" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>openssl_decrypt</refname>
<refpurpose>Descifrar los datos</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>false</type></type><methodname>openssl_decrypt</methodname>
<methodparam><type>string</type><parameter>data</parameter></methodparam>
<methodparam><type>string</type><parameter>cipher_algo</parameter></methodparam>
<methodparam><modifier role="attribute">#[\SensitiveParameter]</modifier><type>string</type><parameter>passphrase</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>options</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>iv</parameter><initializer>""</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>tag</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>aad</parameter><initializer>""</initializer></methodparam>
</methodsynopsis>
<para>
Toma una cadena sin tratar o codificada en base64 y la descifra utilizando
el método y la frase de contraseña proporcionados.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>data</parameter></term>
<listitem>
<para>
El mensaje cifrado a descifrar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>cipher_algo</parameter></term>
<listitem>
<para>
El algoritmo de cifrado. Para obtener la lista de algoritmos de cifrado
disponibles, utilizar <function>openssl_get_cipher_methods</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>passphrase</parameter></term>
<listitem>
<para>
La frase de contraseña. Si la frase de contraseña es más corta de lo esperado, se completa silenciosamente
con caracteres <literal>NUL</literal>; si la frase de contraseña es más larga de lo esperado,
se trunca silenciosamente.
</para>
<caution>
<simpara>
No se utiliza ninguna función de derivación de clave para el parámetro <parameter>passphrase</parameter>
como su nombre podría sugerir. La única operación utilizada es el relleno con caracteres
<literal>NUL</literal> o la truncación si la longitud es diferente de la esperada.
</simpara>
</caution>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
El parámetro <parameter>options</parameter> puede
tomar como valor
<constant>OPENSSL_RAW_DATA</constant> o
<constant>OPENSSL_ZERO_PADDING</constant>
o <constant>OPENSSL_DONT_ZERO_PAD_KEY</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>iv</parameter></term>
<listitem>
<para>
Un vector de inicialización no-&null;. Si el VI es más corto de lo esperado, se completa con
caracteres <literal>NUL</literal> y se emite un aviso; si la frase de contraseña es más larga
de lo esperado, se trunca y se emite un aviso.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>tag</parameter></term>
<listitem>
<para>
La etiqueta de autenticación en modo de cifrado AEAD. Si es incorrecta, la autenticación falla y la función devuelve &false;.
</para>
<caution>
<simpara>
La longitud de <parameter>tag</parameter> no es verificada por la función.
Es responsabilidad del llamador asegurarse de que la longitud del
tag coincida con la longitud del tag recibido cuando
<function>openssl_encrypt</function> fue llamada. De lo contrario, el
descifrado puede tener éxito si el inicio del tag proporcionado coincide con el inicio
del verdadero tag.
</simpara>
</caution>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>aad</parameter></term>
<listitem>
<para>
Datos adicionales autenticados.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
La cadena descifrada en caso de éxito &return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Emite un error de nivel <constant>E_WARNING</constant> si se pasa un algoritmo
de cifrado desconocido a través de <parameter>cipher_algo</parameter>.
</para>
<para>
Emite un error de nivel <constant>E_WARNING</constant> si se pasa un valor
vacío como parámetro <parameter>iv</parameter>.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.1.0</entry>
<entry><parameter>tag</parameter> ahora es nullable.</entry>
</row>
<row>
<entry>7.1.0</entry>
<entry>Se añadieron los parámetros <parameter>tag</parameter> y <parameter>aad</parameter>.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>openssl_encrypt</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
-->