查詢

openssl_pkcs7_decrypt()函式—用法及示例

「 使用私鑰解密 PKCS#7 格式的加密資料 」


函式名: openssl_pkcs7_decrypt()

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

函式說明: openssl_pkcs7_decrypt() 函式用於使用私鑰解密 PKCS#7 格式的加密資料。

語法: bool openssl_pkcs7_decrypt ( string $infilename , string $outfilename , mixed $recipcert [, array $recipkey ] )

引數:

  • infilename:輸入檔案的路徑,包含被加密的資料。
  • outfilename:輸出檔案的路徑,用於儲存解密後的資料。
  • recipcert:證書檔案的路徑,包含用於解密資料的公鑰證書。
  • recipkey:(可選)證書檔案的路徑,包含與私鑰證書配對的私鑰。

返回值:成功時返回 TRUE,失敗時返回 FALSE。

示例:

// 加密資料檔案路徑
$encryptedFile = "encrypted.p7";

// 解密後的資料儲存路徑
$decryptedFile = "decrypted.txt";

// 用於解密的公鑰證書路徑
$certificateFile = "certificate.pem";

// 用於解密的私鑰路徑(可選)
$privateKeyFile = "private_key.pem";

// 解密資料
$result = openssl_pkcs7_decrypt($encryptedFile, $decryptedFile, $certificateFile, $privateKeyFile);

if ($result) {
    echo "資料解密成功!";
} else {
    echo "資料解密失敗!";
}

注意事項:

  1. 使用該函式前,需要確保 PHP 環境已經啟用 OpenSSL 擴充套件。
  2. infilename 和 outfilename 引數可以是檔案路徑或者 PHP 流資源。
  3. recipkey 引數是一個可選的私鑰檔案路徑,如果未提供,則函式會嘗試從 recipcert 引數中提取私鑰。
  4. 如果解密成功,解密後的資料將儲存在 outfilename 指定的檔案中。
  5. 如果解密失敗,可以透過檢查錯誤日誌獲取詳細的錯誤資訊。

以上是 openssl_pkcs7_decrypt() 函式的用法及示例。請根據實際情況替換示例中的檔案路徑和檔名。

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