php pki加密技術 openssl 詳解

2022-10-06 12:57:16 字數 2079 閱讀 8747

複製** **如下:

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...