?php
// openssl 擴(kuò)展檢測(cè)
var_dump(extension_loaded('openssl'));
$prikey = openssl_pkey_get_private(file_get_contents('rsa_private_key.pem')); //私鑰
$pubkey = openssl_pkey_get_public(file_get_contents('rsa_public_key.pem')); //公鑰
// 明文數(shù)據(jù)
$data = 'test-string!';
/**
* 可能會(huì)出的問題:Don't know how to get public key from this private key
* 原因:PHP 的 openssl 擴(kuò)展和 Apache 的不一致導(dǎo)致, 當(dāng)然在命令行下運(yùn)行程序則不會(huì)出現(xiàn)此問題
*/
// 公鑰加密
$encrypt_data = '';
openssl_public_encrypt($data, $encrypt_data, $pubkey);
$encrypt_data = base64_encode($encrypt_data);
echo $encrypt_data;
echo 'br/>';
// ------------------------------------------------------------
// 私鑰解密
$encrypt_data = base64_decode($encrypt_data);
openssl_private_decrypt($encrypt_data, $decrypt_data, $prikey);
var_dump($decrypt_data);
以上這篇PHP 使用openssl 擴(kuò)展實(shí)現(xiàn)公鑰加密的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。