php-doc-en/reference/openssl/functions/openssl-public-encrypt.xml
Máté Kocsis d1e3ea622e Generate openssl methodsynopses based on stubs
Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>

Closes GH-309.
2021-02-13 14:43:23 +01:00

136 lines
3.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.openssl-public-encrypt" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>openssl_public_encrypt</refname>
<refpurpose>Encrypts data with public key </refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>openssl_public_encrypt</methodname>
<methodparam><type>string</type><parameter>data</parameter></methodparam>
<methodparam><type>string</type><parameter role="reference">encrypted_data</parameter></methodparam>
<methodparam><type class="union"><type>OpenSSLAsymmetricKey</type><type>OpenSSLCertificate</type><type>array</type><type>string</type></type><parameter>public_key</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>padding</parameter><initializer><constant>OPENSSL_PKCS1_PADDING</constant></initializer></methodparam>
</methodsynopsis>
<para>
<function>openssl_public_encrypt</function> encrypts <parameter>data</parameter>
with public <parameter>public_key</parameter> and stores the result into
<parameter>encrypted_data</parameter>. Encrypted data can be decrypted via
<function>openssl_private_decrypt</function>.
</para>
<para>
This function can be used e.g. to encrypt message which can be then read
only by owner of the private key. It can be also used to store secure data
in database.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>data</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>encrypted_data</parameter></term>
<listitem>
<para>
This will hold the result of the encryption.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>public_key</parameter></term>
<listitem>
<para>
The public key.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>padding</parameter></term>
<listitem>
<para>
<parameter>padding</parameter> can be one of
<constant>OPENSSL_PKCS1_PADDING</constant>,
<constant>OPENSSL_SSLV23_PADDING</constant>,
<constant>OPENSSL_PKCS1_OAEP_PADDING</constant>,
<constant>OPENSSL_NO_PADDING</constant>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</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.0.0</entry>
<entry>
<parameter>public_key</parameter> accepts an <classname>OpenSSLAsymmetricKey</classname>
or <classname>OpenSSLCertificate</classname> instance now;
previously, a &resource; of type <literal>OpenSSL key</literal> or <literal>OpenSSL X.509</literal>
was accepted.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>openssl_private_encrypt</function></member>
<member><function>openssl_private_decrypt</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
-->