<?php
//pki加密
//使用pki加密需要開啟 openssl擴展
//php
/*pki模式是
* 公鑰加密
* 私鑰加密
*/
//私鑰加密
//客戶端
//$data數據
$data =
//獲取私鑰 $priv_key_id
$priv_key_id = openssl_get_privatekey(file_get_contents(
//獲取公鑰 $pub_key_id
$pub_key_id = openssl_get_publickey(file_get_contents(
//$data首選通過SHA
//$signature就是加密過的簽名
//openssl_sign()加密函數
openssl_sign($data
//還有兩種加密函數
//第一種
//$data要加密的數據
//通過$priv_key_id私鑰加密
openssl_private_encrypt($data
echo $crypted;
//通過$pub_key_id公鑰解密
openssl_public_decrypt($crypted
//第二種
//$data要加密的數據
//通過$pub_key_id公鑰加密
openssl_public_encrypt($data
//通過$priv_key_id私鑰解密
openssl_private_decrypt($crypted
//注意事項
//正常情況
//快錢給了私鑰生成文件
//快錢給了公鑰生成文件
//也就是缺少了一個公鑰生成文件和一個私鑰生成文件
//我始終沒找到一個一一對應的私鑰
// openssl_verify()方法驗證簽名是否正確(私鑰加密生成的數據返回來
// $signature公鑰加密生成的數據
// $pub_key_id公鑰
openssl_verify($data
//從內存中釋放私鑰或公鑰
openssl_free_key($priv_key_id);
openssl_free_key($pub_key_id);
生成私鑰與公鑰
genrsa
rsa
From:http://tw.wingwit.com/Article/program/PHP/201311/21239.html