openssl_encrypt
加密数据
&reftitle.description;
stringfalseopenssl_encrypt
#[\SensitiveParameter]stringdata
stringcipher_algo
#[\SensitiveParameter]stringpassphrase
intoptions0
stringiv""
stringtag&null;
stringaad""
inttag_length16
以指定的方式和 key 加密数据,返回原始或 base64 编码后的字符串。
&reftitle.parameters;
data
待加密的明文信息数据。
cipher_algo
密码学方式。openssl_get_cipher_methods 可获取有效密码方式列表。
passphrase
口令(passphrase)。
若 passphrase 比预期长度短,将静默用 NUL 填充;
若比预期长度更长,将静默截断。
options
options 是以下标记的按位或:
OPENSSL_RAW_DATA 和
OPENSSL_ZERO_PADDING
或 OPENSSL_DONT_ZERO_PAD_KEY。
iv
非 NULL 的初始化向量。
tag
使用 AEAD 密码模式(GCM 或 CCM)时传引用的验证标签。
aad
附加的验证数据。
tag_length
验证 tag 的长度。GCM 模式时,它的范围是 4 到 16。
&reftitle.returnvalues;
成功时返回加密后的字符串,&return.falseforfailure;。
&reftitle.errors;
cipher_algo 传入未知算法时,产生 E_WARNING 级别的错误。
iv 传入空字符串时产生 E_WARNING 级别的错误。
&reftitle.changelog;
&Version;
&Description;
7.1.0
增加了 tag、aad、tag_length 参数
&reftitle.examples;
PHP 7.1 之前的 GCM 模式的 AES 认证加密示例
]]>
PHP 5.6+ 的 AES 认证加密例子
]]>
&reftitle.seealso;
openssl_decrypt