成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎么在php中利用rsa進(jìn)行加密解密-創(chuàng)新互聯(lián)

本篇文章為大家展示了怎么在php中利用rsa進(jìn)行加密解密,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比孝義網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式孝義網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋孝義地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

1、加密解密的第一步是生成公鑰、私鑰對,私鑰加密的內(nèi)容能通過公鑰解密(反過來亦可以)


下載開源RSA密鑰生成工具openssl(通常Linux系統(tǒng)都自帶該程序),解壓縮至獨立的文件夾,進(jìn)入其中的bin目錄,執(zhí)行以下命令:

openssl genrsa -out rsa_private_key.pem 1024
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

第一條命令生成原始 RSA私鑰文件 rsa_private_key.pem,第二條命令將原始 RSA私鑰轉(zhuǎn)換為 pkcs8格式,第三條生成RSA公鑰 rsa_public_key.pem
從上面看出通過私鑰能生成對應(yīng)的公鑰,因此我們將私鑰private_key.pem用在服務(wù)器端,公鑰發(fā)放給android跟ios等前端

2、php中用生成的公鑰、私鑰進(jìn)行加密解密

$fp=fopen("rsa/rsa_private_key.pem","r"); //你的私鑰文件路徑
$private_key=fread($fp,8192);
fclose($fp);
$fp1=fopen("rsa/rsa_public_key.pem","r"); //你的公鑰文件路徑
$public_key=fread($fp1,8192);
fclose($fp1);
//echo $private_key; 
$pi_key=openssl_pkey_get_private($private_key);//這個函數(shù)可用來判斷私鑰是否是可用的,可用返回資源id Resource id 
$pu_key=openssl_pkey_get_public($public_key );//這個函數(shù)可用來判斷公鑰是否是可用的
print_r($pi_key);echo "\n"; echo "<br>";
print_r($pu_key);echo "\n"; echo "<br>";
echo "<hr>";
$data='php ras加密算法';
$encrypted = ""; 
$decrypted = ""; 
echo "加密的源數(shù)據(jù):".$data."\n"; echo "<br>";
echo "private key encrypt:\n"; echo "<br>";
openssl_private_encrypt($data,$encrypted,$pi_key);//私鑰加密 
$encrypted = base64_encode($encrypted);//加密后的內(nèi)容通常含有特殊字符,需要編碼轉(zhuǎn)換下,在網(wǎng)絡(luò)間通過url傳輸時要注意base64編碼是否是url安全的 
echo '私鑰加密后:'.$encrypted."\n"; echo "<br>";echo "<br>";
echo "public key decrypt:\n"; echo "<br>";
openssl_public_decrypt(base64_decode($encrypted),$decrypted,$pu_key);//私鑰加密的內(nèi)容通過公鑰可用解密出來 
echo '公鑰解密后:'.$decrypted."\n"; echo "<br>";
echo "<hr>";
echo "public key encrypt:\n"; echo "<br>";
openssl_public_encrypt($data,$encrypted,$pu_key);//公鑰加密 
$encrypted = base64_encode($encrypted); 
echo $encrypted,"\n"; echo "<br>";
echo "private key decrypt:\n"; echo "<br>";
openssl_private_decrypt(base64_decode($encrypted),$decrypted,$pi_key);//私鑰解密 
echo $decrypted,"\n"; echo "<br>";

PHP的RSA配置常見問題

●PHP開發(fā)語言的代碼示例中openssl文件夾中的3個DLL文件用法

1、如果你的系統(tǒng)是windows系統(tǒng),且system32文件目錄下沒有l(wèi)ibeay32.dll、ssleay32.dll這兩個文件
那么需要拷貝這兩個文件到system32文件目錄。

2、如果您的php安裝目錄下(php\ext)中沒有php_openssl.dll

那么請把php_openssl.dll放在這個文件夾中

上述內(nèi)容就是怎么在php中利用rsa進(jìn)行加密解密,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

標(biāo)題名稱:怎么在php中利用rsa進(jìn)行加密解密-創(chuàng)新互聯(lián)
本文鏈接:http://jinyejixie.com/article44/pejee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、網(wǎng)站排名、網(wǎng)站營銷、軟件開發(fā)、網(wǎng)站內(nèi)鏈、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司
平武县| 双柏县| 西乌珠穆沁旗| 龙门县| 盘山县| 东阳市| 南宁市| 黄骅市| 沂源县| 潼关县| 深水埗区| 赤城县| 泰来县| 建湖县| 北流市| 炎陵县| 赤水市| 惠来县| 大田县| 荣成市| 安达市| 三原县| 南澳县| 樟树市| 襄垣县| 普宁市| 无极县| 中方县| 韩城市| 中阳县| 资兴市| 志丹县| 行唐县| 渝北区| 稷山县| 通辽市| 获嘉县| 咸宁市| 甘孜县| 定安县| 贵阳市|