牛牛在线工具

openssl_open()

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

openssl_open()

使用非对称加密算法打开并解密由openssl_seal()函数加密的数据

函数名称:openssl_open() 适用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7 函数描述:openssl_open()函数用于使用非对称加密算法打开并解密由openssl_seal()函数加密的数据。 用法: openssl_open ( string $sealed_data , string &$open_data , string $env_key , mixed $priv_key_id [, string $method = "RC4" [, string &$iv = "" ]] ) : bool 参数: sealed_data:已加密的数据,由openssl_seal()函数生成。 open_data:解密后的数据将存储在此变量中。 env_key:用于解密数据的环境密钥。 priv_key_id:私钥标识符,可以是一个字符串表示的私钥文件的路径,或者是之前通过openssl_get_privatekey()函数获取的私钥资源句柄。 method(可选):解密算法的名称。默认为"RC4",也可以使用其他可用的算法,如"AES-128-CBC"。 iv(可选):初始化向量(IV),用于加密算法。默认为空字符串。 返回值: 如果解密成功,则返回true,否则返回false。 示例: <?php // 加密数据 $plaintext = "Hello, World!"; $keys = openssl_pkey_new(); openssl_seal($plaintext, $sealed_data, $env_keys, array($keys)); // 解密数据 $private_key = openssl_pkey_get_private($keys); if (openssl_open($sealed_data, $open_data, $env_keys[0], $private_key)) { echo "解密后的数据:{$open_data}"; } else { echo "解密失败"; } ?> 以上示例中,我们首先生成了一对公钥和私钥,然后使用openssl_seal()函数对明文数据进行加密。接着,我们使用openssl_open()函数对加密后的数据进行解密,并将解密后的数据存储在$open_data变量中。最后,我们根据解密的结果输出相应的信息。