PHP openssl_open OpenSSL 函数
-
定义和用法
openssl_open - 打开密封的数据 -
版本支持
PHP4 PHP5 PHP7 支持 支持 支持 7.0.0 添加了 iv 参数
5.3.0 添加了 method 参数
-
语法
openssl_open( string $sealed_data , string &$open_data , string $env_key , mixed $priv_key_id [, string $method = "RC4" [, string &$iv ]] )
openssl_open() 使用与密钥标识符priv_key_id和信封密钥env_key相关联的私钥打开 (解密) sealed_data 数据, 使用解密后的数据填充open_data。 当数据被密封时,就生成了信封密钥且只能由一个特定的私钥使用。更多信息参见 openssl_seal() 。 -
参数
参数 必需的 描述 sealed_data 是 密封的数据 open_data 是 如果调用成功,则在这个参数中返回打开的数据。 env_key 是 加密key。 priv_key_id 是 私钥key id method 否 加解密算法。 iv 否 初始化向量。 -
返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。 -
示例
// $sealed and $env_key are assumed to contain the sealed data // and our envelope key, both given to us by the sealer. // fetch private key from file and ready it $fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r"); $priv_key = fread($fp, 8192); fclose($fp); $pkeyid = openssl_get_privatekey($priv_key); // decrypt the data and store it in $open if (openssl_open($sealed, $open, $env_key, $pkeyid)) { echo "here is the opened data: ", $open; } else { echo "failed to open data"; } // free the private key from memory openssl_free_key($pkeyid);
-
相关页面
openssl_seal() - 密封 (加密) 数据