最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP基于openssl實現(xiàn)的非對稱加密操作示例

 更新時間:2019年01月11日 11:46:18   作者:?erdan  
這篇文章主要介紹了PHP基于openssl實現(xiàn)的非對稱加密操作,結(jié)合實例形式分析了openssl安裝、密鑰生成及php基于openssl的非對稱加密算法相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了PHP基于openssl實現(xiàn)的非對稱加密操作。分享給大家供大家參考,具體如下:

使用非對稱加密主要是借助openssl的公鑰和私鑰,用公鑰加密私鑰解密,或者私鑰加密公鑰解密。

1.安裝openssl和php的openssl擴展

2.生成私鑰:openssl genrsa 用于生成rsa私鑰文件,生成是可以指定私鑰長度和密碼保護

openssl genrsa -out rsa_private_key.pem 1024

3.生成公鑰:rsa命令用于處理RSA密鑰、格式轉(zhuǎn)換和打印信息

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類型的密鑰,如果密鑰文件內(nèi)容被破壞,openssl_pkey_get_private函數(shù)返回false
*/
$privateKey = openssl_pkey_get_private(file_get_contents($privateKeyFilePath));
/**
* 生成Resource類型的公鑰,如果公鑰文件內(nèi)容被破壞,openssl_pkey_get_public函數(shù)返回false
*/
$publicKey = openssl_pkey_get_public(file_get_contents($publicKeyFilePath));
($privateKey && $publicKey) or die('密鑰或者公鑰不可用');
/**
* 原數(shù)據(jù)
*/
$originalData = '加密前hahahaha';
/**
* 加密以后的數(shù)據(jù),用于在網(wǎng)路上傳輸
*/
$encryptData = '';
echo '原數(shù)據(jù)為:', $originalData, PHP_EOL;
///////////////////////////////用私鑰加密////////////////////////
if (openssl_private_encrypt($originalData, $encryptData, $privateKey)) {
  /**
   * 加密后 可以base64_encode后方便在網(wǎng)址中傳輸 或者打印 否則打印為亂碼
   */
  echo '加密成功,加密后數(shù)據(jù)(base64_encode后)為:', base64_encode($encryptData), PHP_EOL;
} else {
  die('加密失敗');
}
///////////////////////////////用公鑰解密////////////////////////
/**
* 解密以后的數(shù)據(jù)
*/
$decryptData ='';
if (openssl_public_decrypt($encryptData, $decryptData, $publicKey)) {
  echo '解密成功,解密后數(shù)據(jù)為:', $decryptData, PHP_EOL;
} else {
  die('解密成功');
}

PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:

在線DES加密/解密工具
http://tools.jb51.net/password/des_encode

MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password

在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php加密方法總結(jié)》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP數(shù)學運算技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》及《php正則表達式用法總結(jié)

希望本文所述對大家PHP程序設(shè)計有所幫助。

相關(guān)文章

  • 完美解決php 導出excle的.csv格式的數(shù)據(jù)時亂碼問題

    完美解決php 導出excle的.csv格式的數(shù)據(jù)時亂碼問題

    下面小編就為大家?guī)硪黄昝澜鉀Qphp 導出excle的.csv格式的數(shù)據(jù)時亂碼問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • php中如何判斷一個網(wǎng)頁請求是ajax請求還是普通請求

    php中如何判斷一個網(wǎng)頁請求是ajax請求還是普通請求

    以下是對php中如何判斷一個網(wǎng)頁請求是ajax請求還是普通請求的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • 詳解PHP設(shè)計模式之依賴注入模式

    詳解PHP設(shè)計模式之依賴注入模式

    依賴注入模式:依賴注入是控制反轉(zhuǎn)的一種實現(xiàn)方式。要實現(xiàn)控制反轉(zhuǎn),通常的解決方案是將創(chuàng)建被調(diào)用者實例的工作交由 IoC 容器來完成,然后在調(diào)用者中注入被調(diào)用者(通過構(gòu)造器 / 方法注入實現(xiàn)),這樣我們就實現(xiàn)了調(diào)用者與被調(diào)用者的解耦,該過程被稱為依賴注入。
    2021-05-05
  • php實現(xiàn)SAE上使用storage上傳與下載文件的方法

    php實現(xiàn)SAE上使用storage上傳與下載文件的方法

    這篇文章主要介紹了php實現(xiàn)SAE上使用storage上傳與下載文件的方法,實例分析了基于SaeStorage類實現(xiàn)文件傳輸?shù)募记?需要的朋友可以參考下
    2015-06-06
  • php從數(shù)據(jù)庫查詢結(jié)果生成樹形列表的方法

    php從數(shù)據(jù)庫查詢結(jié)果生成樹形列表的方法

    這篇文章主要介紹了php從數(shù)據(jù)庫查詢結(jié)果生成樹形列表的方法,涉及php操作html元素生成樹形列表的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • PHP模擬登陸163郵箱發(fā)郵件及獲取通訊錄列表的方法

    PHP模擬登陸163郵箱發(fā)郵件及獲取通訊錄列表的方法

    這篇文章主要介紹了PHP模擬登陸163郵箱發(fā)郵件及獲取通訊錄列表的方法,實例分析了php實用curl模擬登陸163郵箱的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • php 圖片加水印與上傳圖片加水印php類

    php 圖片加水印與上傳圖片加水印php類

    PHP圖片加水印的實現(xiàn)代碼編寫起來比較復雜,不過對于經(jīng)驗豐富的老手來說還是比較輕松的。下面我們就以一段代碼示例來分析一下PHP圖片加水印的原理。
    2010-05-05
  • PHP isset()及empty()用法區(qū)別詳解

    PHP isset()及empty()用法區(qū)別詳解

    這篇文章主要介紹了PHP isset()及empty()用法區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • php后門URL的防范

    php后門URL的防范

    后門URL是指雖然無需直接調(diào)用的資源能直接通過URL訪問
    2013-11-11
  • PHP中的錯誤處理、異常處理機制分析

    PHP中的錯誤處理、異常處理機制分析

    在編寫php程序時,錯誤處理是一個重要的部分。如果程序中缺少錯誤檢測代碼,那么看上去很不專業(yè),也為安全風險敞開了大門
    2012-05-05

最新評論

建德市| 渝北区| 分宜县| 保定市| 普宁市| 克拉玛依市| 山阴县| 慈利县| 民乐县| 宁津县| 湖口县| 兴国县| 三门峡市| 错那县| 呼图壁县| 惠安县| 庐江县| 溧阳市| 饶阳县| 栾城县| 湾仔区| 墨竹工卡县| 阿鲁科尔沁旗| 阳西县| 增城市| 安远县| 务川| 饶阳县| 仲巴县| 胶南市| 惠水县| 井冈山市| 洮南市| 咸阳市| 武平县| 务川| 乐昌市| 清苑县| 胶州市| 亚东县| 太仆寺旗|