牛牛在线工具

openssl_encrypt()

收录 8868 个 PHP 函数,含用途说明与用法示例。

openssl_encrypt()

对数据进行加密

函数名称:openssl_encrypt() 适用版本:PHP 5 >= 5.3.0, PHP 7 函数描述:openssl_encrypt() 函数用于对数据进行加密。 语法:string openssl_encrypt ( string $data , string $method , string $password [, int $options = 0 [, string $iv = "" [, string &$tag = NULL [, string $aad = "" [, int $tag_length = 16 ]]]]] ) 参数说明: $data:需要加密的数据,可以是字符串或者是字节数组。 $method:加密算法,可以是以下之一: AES-128-CBC AES-192-CBC AES-256-CBC AES-128-CTR AES-192-CTR AES-256-CTR AES-128-GCM AES-192-GCM AES-256-GCM $password:加密密码,字符串类型。 $options:可选参数,指定加密模式或填充方式。默认为0,表示使用PKCS7填充。 $iv:可选参数,初始化向量,字符串类型。对于 CBC、CFB、OFB 和 STREAM 模式,必须提供一个初始化向量。对于 ECB 模式,不需要提供。 $tag:可选参数,用于存储验证标签。只有在使用 GCM 模式时才需要提供。 $aad:可选参数,附加的认证数据,字符串类型。只有在使用 GCM 模式时才需要提供。 $tag_length:可选参数,用于指定生成的认证标签长度。只有在使用 GCM 模式时才需要提供。 返回值:加密后的数据,以字符串形式返回。 示例: $data = "Hello, world!"; $method = "AES-256-CBC"; $password = "myPassword"; $options = 0; $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($method)); $encrypted = openssl_encrypt($data, $method, $password, $options, $iv); echo "加密后的数据:".$encrypted."\n"; $decrypted = openssl_decrypt($encrypted, $method, $password, $options, $iv); echo "解密后的数据:".$decrypted."\n"; 输出结果: 加密后的数据:5B7n0m0qMF0nXbU2XnU0xY0oXf7n3V5l1G6q5u5n4y1= 解密后的数据:Hello, world! 注意事项: 在使用 CBC、CFB、OFB 和 STREAM 模式时,必须提供一个随机生成的初始化向量(IV)。 密码应该是足够强大的,以确保加密的安全性。 加密和解密时的参数(数据、加密算法、密码、选项和初始化向量)必须一致,否则解密将失败。