牛牛在线工具

openssl_private_decrypt()

收录 8868 个 PHP 函数,含用途说明与用法示例。

openssl_private_decrypt()

使用私钥对数据进行解密

函数名: openssl_private_decrypt() 适用版本: PHP 4 >= 4.0.6, PHP 5, PHP 7 用法: openssl_private_decrypt(string $data, string &$decrypted, mixed $key [, int $padding = OPENSSL_PKCS1_PADDING [, string $cipher_algo = '']]): bool 说明:此函数用于使用私钥对数据进行解密。私钥必须由openssl_pkey_get_private()函数导入。 参数: $data:要解密的数据。 &$decrypted:解密后的数据将存储在该变量中。 $key:私钥,可以是PEM格式的字符串、OpenSSL key资源或者由openssl_pkey_get_private()返回的私钥资源。 $padding(可选):指定填充模式,默认为OPENSSL_PKCS1_PADDING。 $cipher_algo(可选):指定加密算法,默认为空字符串。如果未指定,则使用默认的openssl_get_cipher_methods()中的第一个算法。 返回值:如果解密成功,则返回true,否则返回false。 示例: // PEM格式的私钥 $privateKey = <<<EOD -----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQC1z3Qq7i1h/2ZyB4fz3QR1CnC3ZoN4y5zTbQ7W8S7wH0lE8M5h ... -----END RSA PRIVATE KEY----- EOD; // 加密的数据 $encryptedData = base64_decode("..."); // 导入私钥 $privateKeyResource = openssl_pkey_get_private($privateKey); // 解密数据 openssl_private_decrypt($encryptedData, $decryptedData, $privateKeyResource); // 输出解密后的数据 echo $decryptedData; 注意事项: 在使用openssl_private_decrypt()函数之前,必须先导入私钥。 解密成功后,解密后的数据将存储在传递给函数的第二个参数中(即&$decrypted)。 如果解密失败,函数将返回false。 可以通过指定填充模式和加密算法来自定义解密过程,但通常使用默认值即可。