<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.openssl.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.openssl-public-encrypt.php',
    1 => 'openssl_public_encrypt',
    2 => 'Cifra datos con una clave p&uacute;blica',
  ),
  'up' => 
  array (
    0 => 'ref.openssl.php',
    1 => 'Funciones de OpenSSL',
  ),
  'prev' => 
  array (
    0 => 'function.openssl-public-decrypt.php',
    1 => 'openssl_public_decrypt',
  ),
  'next' => 
  array (
    0 => 'function.openssl-random-pseudo-bytes.php',
    1 => 'openssl_random_pseudo_bytes',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/openssl/functions/openssl-public-encrypt.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.openssl-public-encrypt" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">openssl_public_encrypt</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.0.6, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">openssl_public_encrypt</span> &mdash; <span class="dc-title">Cifra datos con una clave pública</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.openssl-public-encrypt-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>openssl_public_encrypt</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="attribute"><a href="class.sensitiveparameter.php">#[\SensitiveParameter]</a> </span><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$data</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter reference">&$encrypted_data</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="class.opensslasymmetrickey.php" class="type OpenSSLAsymmetricKey">OpenSSLAsymmetricKey</a></span>|<span class="type"><a href="class.opensslcertificate.php" class="type OpenSSLCertificate">OpenSSLCertificate</a></span>|<span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$public_key</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$padding</code><span class="initializer"> = <strong><code><a href="openssl.padding.php#constant.openssl-pkcs1-padding">OPENSSL_PKCS1_PADDING</a></code></strong></span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$digest_algo</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span><br>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>openssl_public_encrypt()</strong></span> cifra los datos
   <code class="parameter">data</code> con la clave pública
   <code class="parameter">public_key</code> y almacena el resultado en <code class="parameter">encrypted_data</code>.
   Los datos cifrados pueden ser descifrados con la función
   <span class="function"><a href="function.openssl-private-decrypt.php" class="function">openssl_private_decrypt()</a></span>.
  </p>
  <p class="para">
   Esta función puede ser utilizada para cifrar un mensaje que podrá ser leído
   únicamente por el propietario de la clave privada. Puede ser igualmente utilizada
   para almacenar datos seguros en una base de datos.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.openssl-public-encrypt-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">data</code></dt>
     <dd>
      <p class="para">
      </p>
     </dd>
    
    
     <dt><code class="parameter">encrypted_data</code></dt>
     <dd>
      <p class="para">
       Contendrá el resultado del cifrado.
      </p>
     </dd>
    
    
     <dt><code class="parameter">public_key</code></dt>
     <dd>
      <p class="para">
       <code class="parameter">public_key</code> debe ser la clave pública correspondiente
       a la clave privada que será utilizada para descifrar los datos.
      </p>
     </dd>
    
    
     <dt><code class="parameter">padding</code></dt>
     <dd>
      <p class="para">
       <code class="parameter">padding</code> puede ser
       <strong><code><a href="openssl.padding.php#constant.openssl-pkcs1-padding">OPENSSL_PKCS1_PADDING</a></code></strong>,
       <strong><code><a href="openssl.padding.php#constant.openssl-sslv23-padding">OPENSSL_SSLV23_PADDING</a></code></strong>,
       <strong><code><a href="openssl.padding.php#constant.openssl-pkcs1-oaep-padding">OPENSSL_PKCS1_OAEP_PADDING</a></code></strong> o
       <strong><code><a href="openssl.padding.php#constant.openssl-no-padding">OPENSSL_NO_PADDING</a></code></strong>.
      </p>
     </dd>
    
    
     <dt><code class="parameter">digest_algo</code></dt>
     <dd>
      <span class="simpara">
       El algoritmo de resumen para el relleno OAEP, o <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> para utilizar el algoritmo por omisión.
      </span>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.openssl-public-encrypt-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   Esta función retorna <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> en caso de éxito o <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si ocurre un error.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.openssl-public-encrypt-changelog">
  <h3 class="title">Historial de cambios</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Versión</th>
      <th>Descripción</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.5.0</td>
      <td>
       Se ha añadido el parámetro opcional <code class="parameter">digest_algo</code>.
      </td>
     </tr>

     <tr>
      <td>8.0.0</td>
      <td>
       <code class="parameter">public_key</code> acepta ahora una instancia de
       <span class="classname"><a href="class.opensslasymmetrickey.php" class="classname">OpenSSLAsymmetricKey</a></span> o <span class="classname"><a href="class.opensslcertificate.php" class="classname">OpenSSLCertificate</a></span> ;
       anteriormente, se aceptaba un <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> de tipo <code class="literal">OpenSSL key</code> o <code class="literal">OpenSSL X.509</code>.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 seealso" id="refsect1-function.openssl-public-encrypt-seealso">
  <h3 class="title">Ver también</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.openssl-private-encrypt.php" class="function" rel="rdfs-seeAlso">openssl_private_encrypt()</a> - Cifra datos con una clave privada</span></li>
    <li><span class="function"><a href="function.openssl-private-decrypt.php" class="function" rel="rdfs-seeAlso">openssl_private_decrypt()</a> - Descifra datos con una clave privada</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>