PHP8 openssl_decrypt
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
openssl_decrypt — 解密数据
说明
openssl_decrypt(
string $data,
string $cipher_algo,
string $passphrase,
int $options = 0,
string $iv = "",
?string $tag = null,
string $aad = ""
): string|false
采用原始或base64编码的字符串,并使用给定的方法和密钥对其进行解密。
参数
data
将被解密的密文。
cipher_algo
加密算法,使用openssl_get_cipher_methods()函数获取可用的加密算法列表。
passphrase
密钥。
options
options
can be one ofOPENSSL_RAW_DATA
,OPENSSL_ZERO_PADDING
.iv
非空的初始化向量。
tag
AEAD密码模式中的身份验证标签。 如果是错误的,验证失败,函数返回
false
.警告函数不检查
tag
的长度。调用者有责任确保 tag 的长度与调用 openssl_encrypt() 时检索到的 tag 的长度相匹配。否则,如果给定的 tag 仅匹配正确 tag 的开头,解密可能会成功。aad
额外的认证数据。
返回值
成功时已解密的字符串 或者在失败时返回 false。
错误/异常
如果通过 cipher_algo 参数传递的是未知的加密算法,将会抛出 E_WARNING 等级的错误。
如果通过iv参数传递的是一个空值,将会抛出一个 E_WARNING 等级的错误。
更新日志
版本 | 说明 |
---|---|
8.1.0 | tag 现在可为 null。 |
7.1.0 | 添加了 tag 和 aad 参数。 |
参见 ¶
- openssl_encrypt() - 加密数据