PHP 使用openssl 擴展實現(xiàn)公鑰加密的方法
更新時間:2018年03月21日 08:43:51 作者:落葉成冰
下面小編就為大家分享一篇PHP 使用openssl 擴展實現(xiàn)公鑰加密的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
如下所示:
// 生成私鑰 # openssl genrsa -out rsa_private_key.pem 1024 // 生成公鑰 # openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
下面是示例代碼:
<?php
// openssl 擴展檢測
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!';
/**
* 可能會出的問題:Don't know how to get public key from this private key
* 原因:PHP 的 openssl 擴展和 Apache 的不一致導致, 當然在命令行下運行程序則不會出現(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 擴展實現(xiàn)公鑰加密的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
PHP+Oracle本地開發(fā)環(huán)境搭建方法詳解
在本篇文章中小編給大家分享了關于PHP+Oracle本地開發(fā)環(huán)境搭建的步驟和技巧,需要的朋友們學習下。2019-04-04

