openssl_encrypt 加密数据 &reftitle.description; stringfalseopenssl_encrypt #[\SensitiveParameter]stringdata stringcipher_algo #[\SensitiveParameter]stringpassphrase intoptions0 stringiv"" stringtag&null; stringaad"" inttag_length16 以指定的方式和密码短语加密数据,返回原始或 base64 编码后的字符串。 &reftitle.parameters; data 待加密的明文信息数据。 cipher_algo 密码学方式。openssl_get_cipher_methods 可获取有效密码方式列表。 passphrase 密码短语。若 passphrase 比预期长度短,将静默用 NUL 填充; 若比预期长度更长,将静默截断。 正如其名称所示,passphrase 没有用于密钥导出函数。唯一的操作是用 NUL 字符填充,或者如果长度与预期不同则截断。 options options 是以下标记的按位或: OPENSSL_RAW_DATAOPENSSL_ZERO_PADDINGOPENSSL_DONT_ZERO_PAD_KEY iv 非 &null; 的初始化向量。如果 IV 比预期短,则用 NUL 字符填充并发出警告;如果密码短语比预期长,则将其截断并发出警告。 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 增加了 tagaadtag_length 参数 &reftitle.examples; PHP 7.1 之前的 GCM 模式的 AES 认证加密示例 ]]> PHP 5.6+ 的 AES 认证加密例子 ]]> &reftitle.seealso; openssl_decrypt