国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php pki加密技術(openssl)詳解

2024-05-04 23:11:46
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


<?php
//pki加密
//使用pki加密需要開啟 openssl擴展
//php.ini extension = php_openssl.dll擴展
/*pki模式是
* 公鑰加密,私鑰解密;
* 私鑰加密,公鑰解密;
*/
//私鑰加密,公鑰解密
//客戶端
//$data數據
$data = 'abcd';
//獲取私鑰 $priv_key_id
$priv_key_id = openssl_get_privatekey(file_get_contents('99bill-rsa.pem', r));
//獲取公鑰 $pub_key_id
$pub_key_id = openssl_get_publickey(file_get_contents('99bill-rsa.cer', r));
//$data首選通過SHA1哈希加密,然后通過$priv_key_id私鑰加密,生成簽名$signature
//$signature就是加密過的簽名
//openssl_sign()加密函數,至于它的解密方法我不知道??????????????????????
openssl_sign($data, $signature, $priv_key_id, OPENSSL_ALGO_SHA1);
//還有兩種加密函數,而且這兩種加密函數有解密方法,知道
//第一種:私鑰加密,公鑰解密
//$data要加密的數據,$crypted是加密生成的數據,$decrypted是解密生成的數據; $data與$decrypted值相同
//通過$priv_key_id私鑰加密,生成$crypted;
openssl_private_encrypt($data, $crypted, $priv_key_id);
echo $crypted;
//通過$pub_key_id公鑰解密,生成$decrypted
openssl_public_decrypt($crypted, $decrypted , $pub_key_id);
//第二種:公鑰加密,私鑰解密
//$data要加密的數據,$crypted是加密生成的數據,$decrypted是解密生成的數據; $data與$decrypted值相同
//通過$pub_key_id公鑰加密,生成$crypted;
openssl_public_encrypt($data, $crypted, $pub_key_id);
//通過$priv_key_id私鑰解密,生成$decrypted
openssl_private_decrypt($crypted, $decrypted, $priv_key_id);
//注意事項,我這邊的獲取公鑰與私鑰的文件是不對應的
//正常情況,獲取公鑰與私鑰文件是一一對應的,這里我使用快錢的。
//快錢給了私鑰生成文件,對應的公鑰生成文件在快錢那邊
//快錢給了公鑰生成文件,對應的私鑰生成文件在快錢那邊
//也就是缺少了一個公鑰生成文件和一個私鑰生成文件
//我始終沒找到一個一一對應的私鑰、公鑰生成文件,如果你找的了發我一份,謝謝。
// openssl_verify()方法驗證簽名是否正確(私鑰加密生成的數據返回來,用對應的公鑰驗證),只有這一種情況。
// $signature公鑰加密生成的數據,$data原始數據,成功返回1,失敗返回0,錯誤返回-1
// $pub_key_id公鑰
openssl_verify($data, $signature, $pub_key_id);
//從內存中釋放私鑰或公鑰
openssl_free_key($priv_key_id);
openssl_free_key($pub_key_id);


生成私鑰與公鑰
genrsa -out private-rsa.pem
rsa -in private-rsa.pem -pubout -out pubic-rsa.cer
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沾化县| 无为县| 玉树县| 屏山县| 宜宾县| 二连浩特市| 东乡族自治县| 屏东县| 永靖县| 米泉市| 绥江县| 贡觉县| 姚安县| 连平县| 虞城县| 鄯善县| 仙游县| 洛扎县| 台中县| 宜城市| 甘肃省| 阿拉善盟| 北川| 环江| 同仁县| 皮山县| 武功县| 苍溪县| 长沙县| 杭锦后旗| 普格县| 左权县| 大埔县| 鄂托克旗| 辽阳市| 铜鼓县| 开封市| 罗山县| 阜阳市| 七台河市| 大连市|