函式名稱:openssl_public_decrypt()
適用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8
函式描述:openssl_public_decrypt() 函式用於使用公鑰解密資料。
語法:openssl_public_decrypt(string $data, string &$decrypted_data, mixed $key, int $padding = OPENSSL_PKCS1_PADDING): bool
引數:
- $data: 要解密的資料,必須是經過openssl_public_encrypt()加密的資料。
- &$decrypted_data: 解密後的資料將被儲存在此變數中。
- $key: 可以是 PEM 格式的公鑰,也可以是 OpenSSL 公鑰資源。
- $padding: 可選引數,指定填充模式,預設為 OPENSSL_PKCS1_PADDING。
返回值:成功時返回 true,失敗時返回 false。
示例:
// 公鑰字串
$public_key = <<<EOD
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyWmH9b4y4Ht8GhZ8X7a+
4bRq2tL5Qxv0sN8t6eTQy9Jz4vXvJYjT9HmZL3tiHhO0r8GcNQ0P2iU8QX3C2WvI
2LkXKwP6aQlJyT2cVXvqR0N9i4r6Z6vKlTb8QV2FzCj1yR5t2c9m6F5U3GqJZy2b
0vZr3v4hT3MzBkq7b5qV1J0+3X3gCqRk3yGt8M2Z5MqyXXa4JZ6yQvK/2I4n1f3+
0cMjI3Xj6JwNjEjGQvOzOQp9hHBrp+U3R2iZmHrC7W2r8v5X4y8M+P2xqimRq6gM
tq3yCDcC0hGt8yZi8tL2gXkZfKmS5u8l9hLm3Gh2u5kP2fxeF4z8yA2UuY1F5h6P
zB7nJQIDAQAB
-----END PUBLIC KEY-----
EOD;
// 加密後的資料
$encrypted_data = base64_decode('...'); // 加密後的資料,請替換為實際的加密結果
// 解密資料
$decrypted_data = '';
$result = openssl_public_decrypt($encrypted_data, $decrypted_data, $public_key);
if ($result) {
echo "解密成功:".$decrypted_data;
} else {
echo "解密失敗";
}
注意:在示例中,你需要將 $public_key
替換為你實際使用的公鑰字串,並將 $encrypted_data
替換為你實際加密的資料。