openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_public_encrypt使用公钥加密数据

说明

openssl_public_encrypt(
    #[\SensitiveParameter] string $data,
    string &$encrypted_data,
    OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key,
    int $padding = OPENSSL_PKCS1_PADDING
): bool

openssl_public_encrypt() 使用公钥 public_key 解密数据 data 并且将结果保存到变量 encrypted_data 中。加密的数据可以通过 openssl_private_decrypt() 函数解密。

该函数可以用来加密数据,供该公钥匹配的私钥拥有者读取。 它也可以用来在数据库中存储安全数据。

参数

data

encrypted_data

这将保存加密的结果。

public_key

public_key 必须是与用于解密数据的私钥对应的公钥。

padding

padding can be one of OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

返回值

成功时返回 true, 或者在失败时返回 false

更新日志

版本 说明
8.0.0 public_key 现在接受 OpenSSLAsymmetricKeyOpenSSLCertificate 实例。之前接受类型 OpenSSL keyOpenSSL X.509resource

参见