複製** **如下:
php//pki加密
//使用pki加密需要開啟 openssl擴充套件
extension = php_openssl.dll擴充套件
/*pki模式是
* 公鑰加密,私鑰解密;
* 私鑰加密,公鑰解密;
*///私鑰加密,公鑰解密
//客戶端
//$data資料
$data = 'abcd';
//獲取私鑰&n
$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,mgxqgjrnnv $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;
opwww.cppcns.comenssl_public_encrypt($data, $crypted, $pub_key_id);
//通過$priv_key_id私鑰解密,生成$decrypted
openssl_private_decrypt($crypted, $decrypted, $priv_key_id);
//注意事項,我這邊的獲取公鑰與私鑰的檔案是不對應的
//正常情況,獲取公鑰與私鑰檔案是一一對應的,這裡我使用快錢的。
//快錢給了私鑰生成檔案,對應的公鑰生成檔案在快錢那邊
//快錢給了公鑰生成檔案,對應的私鑰生成檔案在快mgxqgjrnnv錢那邊
//也就是缺少了乙個公鑰生成檔案和乙個私鑰生成檔案
//我始終沒找到乙個一一對應的私鑰、公鑰生成檔案,如果你找的了發我乙份,謝謝。
// 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
本文標題: php pki加密技術(openssl)詳解
本文位址:
資料加密技術
1.1.在傳統上,我們有幾種方法來加密資料流 1.2.幸運的是,在所有的加密演算法中最簡單的一種就是 置換表 演算法 1.3.對這種 置換表 方式的乙個改進就是使用2個或者更多的 置換表 1.4.與使用 置換表 相類似,變換資料位置 也在計算機加密中使用 1.5.但是,還有一種更好的加密演算法,只有...
檔案加密技術
檔案加密技術 給檔案加密的技術很多,其中又分為不同等級,以適合不同場合的需要.這裡給出最簡單的檔案加密技術,即採用檔案逐字節與密碼異或方式對檔案進行加密,當解密時,只需再執行一遍加密程式即可.編乙個例項程式,能對任意乙個檔案進行加密,密碼要求使用者輸入,限8位以內 當然你可以再更改 程式要有很好的容...
php加密技術
1.效果展示 php中常用的加密函式 1.md5加密 string md5 string str bool raw output false 1 md5 預設情況下以 32 字元十六進製制數字形式返回雜湊值,它接受兩個引數,第乙個為要加密的字串,第二個為raw output的布林值,預設為false...