查詢

openssl_seal()函式—用法及示例

「 對資料進行加密,並使用公鑰加密金鑰 」


函式:openssl_seal()

適用版本:PHP 4 >= 4.0.4, PHP 5, PHP 7

用法:openssl_seal()函式用於對資料進行加密,並使用公鑰加密金鑰。加密後的資料和加密金鑰將被儲存在一個陣列中,並可以透過私鑰解密。

語法:int openssl_seal ( string $data , string &$sealed_data , array &$env_keys , array $pub_key_ids [, string $method = OPENSSL_CIPHER_RC4 ] )

引數:

  • $data:需要加密的資料。
  • &$sealed_data:加密後的資料將儲存在此變數中。
  • &$env_keys:加密金鑰將儲存在此變數中。
  • $pub_key_ids:公鑰的陣列,用於加密金鑰。
  • $method(可選):加密演算法的名稱,預設為OPENSSL_CIPHER_RC4。

返回值:成功時返回1,失敗時返回0。

示例:

// 建立一個公鑰/私鑰對
$privateKey = openssl_pkey_new();
openssl_pkey_export($privateKey, $privateKeyString);
$publicKey = openssl_pkey_get_details($privateKey)['key'];

// 加密資料
$data = "This is a secret message.";
$sealedData = '';
$envKeys = [];
openssl_seal($data, $sealedData, $envKeys, [$publicKey]);

// 解密資料
$privateKey = openssl_pkey_get_private($privateKeyString);
$openedData = '';
openssl_open($sealedData, $openedData, $envKeys[0], $privateKey);

echo $openedData; // 輸出:This is a secret message.

上述示例中,我們首先生成了一個公鑰/私鑰對。然後,我們使用openssl_seal()函式對資料進行加密,並將加密後的資料和加密金鑰儲存在$sealedData和$envKeys變數中。接下來,我們使用私鑰openssl_open()函式解密資料,並將解密後的資料儲存在$openedData變數中。最後,我們輸出解密後的資料,即原始的秘密訊息。

補充糾錯
上一個函式: openssl_sign()函式
熱門PHP函式
分享連結