使用非對稱加密主要是借助openssl的公鑰和私鑰,用公鑰加密私鑰解密,或者私鑰加密公鑰解密。
1.安裝openssl和php的openssl擴充套件
2.生成私鑰:openssl genrsa 用於生成rsa私鑰檔案,生成是可以指定私鑰長度和密碼保護
openssl genrsa -out rsa_private_key.pem 1024
3.生成公鑰:rsa命令用於處理rsa金鑰、格式轉換和列印資訊
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
4.這裡我們使用私鑰加密,公鑰解密
<?php
/*** 金鑰檔案的路徑
*/$privatekeyfilepath = 'rsa_private_key.pem';
/*** 公鑰檔案的路徑
*/$publickeyfilepath = 'rsa_public_key.pem';
extension_loaded('openssl') or die('php需要openssl擴充套件支援');
(file_exists($privatekeyfilepath) && file_exists($publickeyfilepath)) or die('金鑰或者公鑰的檔案路徑不正確');
/*** 生成resource型別的金鑰,如果金鑰檔案內容被破壞,openssl_pkey_get_private函式返回false
*/$privatekey = openssl_pkey_get_pri
PHP基於openssl實現的非對稱加密操作示例
使用非對稱加密主要是借助openssl的公鑰和私鑰,用公鑰加密私鑰解密,或者私鑰加密公鑰解密。1.安裝openssl和php的openssl擴充套件 2.生成私鑰 openssl genrsa 用於生成rsa私鑰檔案,生成是可以指定私鑰長度和密碼保護 openssl genrsa out rsa p...
PHP使用OpenSSL實現AES加密的筆記
記錄這兩天遇到的一些問題,一開始主要是對一些概念理解的不清楚 比如aes是一種演算法,而openssl是乙個擴充套件庫,其中包含對aes演算法的實現 當然在完全理解演算法後可以自己實現,但可能會遇到很多問題,我會在以後進行嘗試 目前在專案的使用中,還是使用擴充套件庫的方法最快最簡單 1,加密方法 通...
Linux下基於openssl實現數字簽名
建立原檔案src.txt 也可以是任意型別的檔案 這裡僅作演示,輸入命令 echo this is a digital signature example.src.txta 建立私鑰 rsa加密演算法產生的2048位私鑰,並使用f4作為公鑰的e引數,將私鑰儲存在檔案key.pri中 openssl ...