(PHP 4 >= 4.0.4, PHP 5, PHP 7)
openssl_seal — 锟杰凤拷 (锟斤拷锟斤拷) 锟斤拷锟斤拷
$data
, string &$sealed_data
, array &$env_keys
, array $pub_key_ids
[, string $method
= "RC4"
[, string &$iv
]] ) : int
openssl_seal() 使锟斤拷锟斤拷锟斤拷锟斤拷傻锟斤拷锟皆匡拷透锟斤拷锟斤拷锟� method
锟斤拷锟斤拷锟杰凤拷 (锟斤拷锟斤拷)
data
锟斤拷锟捷★拷 锟斤拷钥锟斤拷锟斤拷pub_key_ids
锟叫的憋拷识锟斤拷锟斤拷锟斤拷锟斤拷锟矫匡拷锟斤拷锟斤拷锟斤拷锟皆匡拷锟斤拷埽锟斤拷锟斤拷锟矫匡拷锟斤拷锟斤拷锟斤拷锟皆匡拷锟�env_keys
锟叫凤拷锟截★拷 锟斤拷锟斤拷味锟斤拷一锟斤拷锟剿匡拷锟皆斤拷锟杰凤拷锟斤拷锟斤拷莘锟斤拷透锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷(锟斤拷锟揭伙拷锟斤拷锟斤拷丫锟斤拷锟斤拷锟斤拷锟斤拷锟角的癸拷钥)锟斤拷每锟斤拷锟斤拷锟秸凤拷锟斤拷锟斤拷锟斤拷同时锟斤拷锟秸硷拷锟杰碉拷锟斤拷锟捷猴拷锟矫斤拷锟秸凤拷锟侥癸拷钥锟斤拷锟杰碉拷锟脚凤拷锟斤拷钥锟斤拷
data
要锟杰凤拷锟斤拷锟斤拷荨锟�
sealed_data
锟斤拷锟杰凤拷锟斤拷锟斤拷锟捷★拷
env_keys
锟窖憋拷锟斤拷锟杰碉拷锟斤拷钥锟斤拷锟介。
pub_key_ids
锟斤拷钥锟斤拷源锟斤拷识锟斤拷锟斤拷傻锟斤拷锟斤拷椤�
method
锟斤拷锟斤拷锟姐法锟斤拷
iv
锟斤拷始锟斤拷锟斤拷锟斤拷锟斤拷
锟缴癸拷锟斤拷锟斤拷锟斤拷锟杰凤拷锟斤拷锟斤拷莸某锟斤拷龋锟斤拷锟斤拷螅锟斤拷锟� FALSE
.
锟斤拷锟斤拷芊锟斤拷锟斤拷锟斤拷莩晒锟斤拷锟酵拷锟�sealed_data
锟斤拷锟斤拷锟斤拷锟截o拷锟斤拷么锟脚凤拷锟斤拷钥也锟斤拷锟斤拷通锟斤拷 env_keys
锟斤拷锟斤拷锟斤拷锟截★拷
锟芥本 | 说锟斤拷 |
---|---|
7.0.0 |
锟斤拷锟� iv 锟斤拷锟斤拷锟斤拷
|
5.3.0 |
锟斤拷锟� method 锟斤拷锟斤拷锟斤拷
|
Example #1 openssl_seal() 锟斤拷锟斤拷锟斤拷
<?php
// $data is assumed to contain the data to be sealed
// fetch public keys for our recipients, and ready them
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
// Repeat for second recipient
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);
// seal message, only owners of $pk1 and $pk2 can decrypt $sealed with keys
// $ekeys[0] and $ekeys[1] respectively.
openssl_seal($data, $sealed, $ekeys, array($pk1, $pk2));
// free the keys from memory
openssl_free_key($pk1);
openssl_free_key($pk2);
?>