日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

詳解PHP使用非對稱加密算法RSA

瀏覽:82日期:2022-09-07 17:35:59
加密的類型

在日常設計及開發中,為確保數據傳輸和數據存儲的安全,可通過特定的算法,將數據明文加密成復雜的密文。目前主流加密手段大致可分為單向加密和雙向加密。

單向加密:通過對數據進行摘要計算生成密文,密文不可逆推還原。算法代表:Base64,MD5,SHA;

雙向加密:與單向加密相反,可以把密文逆推還原成明文,雙向加密又分為對稱加密和非對稱加密。

對稱加密:指數據使用者必須擁有相同的密鑰才可以進行加密解密,就像彼此約定的一串暗號。算法代表:DES,3DES,AES,IDEA,RC4,RC5;

非對稱加密:相對對稱加密而言,無需擁有同一組密鑰,非對稱加密是一種“信息公開的密鑰交換協議”。非對稱加密需要公開密鑰和私有密鑰兩組密鑰,公開密鑰和私有密鑰是配對起來的,也就是說使用公開密鑰進行數據加密,只有對應的私有密鑰才能解密。這兩個密鑰是數學相關,用某用戶密鑰加密后的密文,只能使用該用戶的加密密鑰才能解密。如果知道了其中一個,并不能計算出另外一個。因此如果公開了一對密鑰中的一個,并不會危害到另外一個密鑰性質。這里把公開的密鑰為公鑰,不公開的密鑰為私鑰。算法代表:RSA,DSA。

以前一直對客戶端傳給服務器的信息加密這一塊一臉懵,如果app里面的用戶登錄信息被抓包拿到了,大寫著 username:root,password:123456,  那不是很尷尬。

偶然做版權輸入的時候遇到了rsa,在支付寶支付的時候也接觸過,當時不知道這是啥子,現在才知道。

他能保證,客戶端給出的信息,只有擁有私鑰的服務器才能看,其他人看的都是亂碼。

非對稱加密算法

需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。

注意以上的一個點,公鑰加密的數據,只有對應的私鑰才能解密

在日常使用中是醬紫的:將私鑰private_key.pem用在服務器端,公鑰發放給android跟ios等前端

客戶端用公鑰加密過后,數據只能被擁有唯一私鑰的服務器看懂。

具體實現1、加密解密的第一步

生成公鑰、私鑰對,私鑰加密的內容能通過公鑰解密(反過來亦可以)

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

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私鑰轉換為 pkcs8格式

第三條生成RSA公鑰 rsa_public_key.pem

上面幾個就可以看出:通過私鑰能生成對應的公鑰

也有一些網站提供生成rsa公鑰私鑰的服務:http://www.bm8.com.cn/webtool/rsa/

2、PHP的加密解密類庫

<?php class Rsa { /** * 獲取私鑰 * @return bool|resource */private static function getPrivateKey() {$abs_path = dirname(__FILE__) . ’/rsa_private_key.pem’;$content = file_get_contents($abs_path); return openssl_pkey_get_private($content);} /** * 獲取公鑰 * @return bool|resource */private static function getPublicKey() { $abs_path = dirname(__FILE__) . ’/rsa_public_key.pem’;$content = file_get_contents($abs_path); return openssl_pkey_get_public($content); } /** * 私鑰加密 * @param string $data * @return null|string */public static function privEncrypt($data = ’’){if (!is_string($data)) {return null; }return openssl_private_encrypt($data,$encrypted,self::getPrivateKey()) ? base64_encode($encrypted) : null;} /** * 公鑰加密 * @param string $data * @return null|string */public static function publicEncrypt($data = ’’) {if (!is_string($data)) {return null;}return openssl_public_encrypt($data,$encrypted,self::getPublicKey()) ? base64_encode($encrypted) : null;} /** * 私鑰解密 * @param string $encrypted * @return null */public static function privDecrypt($encrypted = ’’){if (!is_string($encrypted)) {return null;}return (openssl_private_decrypt(base64_decode($encrypted), $decrypted, self::getPrivateKey())) ? $decrypted : null;} /** * 公鑰解密 * @param string $encrypted * @return null */public static function publicDecrypt($encrypted = ’’){if (!is_string($encrypted)) {return null;} return (openssl_public_decrypt(base64_decode($encrypted), $decrypted, self::getPublicKey())) ? $decrypted : null;}}調用demo

<?phprequire_once 'Rsa.php';$rsa = new Rsa();$data[’name’] = ’Tom’;$data[’age’] = ’20’;$privEncrypt = $rsa->privEncrypt(json_encode($data));echo ’私鑰加密后:’.$privEncrypt.’<br>’; $publicDecrypt = $rsa->publicDecrypt($privEncrypt);echo ’公鑰解密后:’.$publicDecrypt.’<br>’; $publicEncrypt = $rsa->publicEncrypt(json_encode($data));echo ’公鑰加密后:’.$publicEncrypt.’<br>’; $privDecrypt = $rsa->privDecrypt($publicEncrypt);echo ’私鑰解密后:’.$privDecrypt.’<br>’;

代碼截圖實例:

詳解PHP使用非對稱加密算法RSA

以上就是PHP使用非對稱加密算法RSA的詳細內容,更多關于PHP使用RSA的資料請關注好吧啦網其它相關文章!

標簽: PHP
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本精品另类| 精品欧美激情在线观看| 黄色在线网站噜噜噜| 日韩黄色免费网站| 欧美日韩国产综合网| 美女毛片一区二区三区四区| 国产欧美一区二区三区精品酒店| 国产精品视频首页| 国产亚洲欧美日韩在线观看一区二区| 9国产精品视频| 欧美亚洲在线日韩| 久久高清精品| 国产 日韩 欧美一区| 成人在线网站| 欧美色图国产精品| 免费福利视频一区二区三区| 黑森林国产精品av| 91精品国产乱码久久久久久久 | 婷婷久久免费视频| 亚洲欧美久久精品| 日本精品国产| 久久精品国产99国产| 中文字幕在线官网| 久久久久蜜桃| 亚洲精品黄色| 91九色综合| 国产精品久久乐| 国产专区精品| 欧美一区=区| 欧美一区激情| 日韩欧美1区| 中文字幕av一区二区三区人| 91精品一区| 日本免费一区二区三区四区| 午夜日韩在线| 国产精品密蕾丝视频下载| 日韩精品永久网址| 天堂va在线高清一区| 欧美国产另类| 性欧美长视频| 三级在线看中文字幕完整版| 99在线|亚洲一区二区| 国产精品麻豆成人av电影艾秋| 婷婷综合六月| 国产精区一区二区| 免费观看不卡av| 亚洲91在线| 亚洲网站视频| 国产精品久久久久77777丨| 91高清一区| 亚洲女同av| 亚洲资源在线| 亚洲一区二区毛片| 欧美精品高清| 精品一区二区三区中文字幕| 亚洲一区二区小说| 99久久99久久精品国产片果冰| 日韩一区二区三区精品视频第3页| 人人香蕉久久| 久久影视三级福利片| 青草久久视频| 91精品丝袜国产高跟在线| 欧美日韩国产一区精品一区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 女同性一区二区三区人了人一| 国产一区精品福利| 亚洲欧洲av| 日韩影院在线观看| 亚洲激情欧美| 五月综合激情| 国产婷婷精品| 午夜性色一区二区三区免费视频| 久久不射中文字幕| 久久国产高清| 在线精品一区| 亚洲永久精品唐人导航网址| 日本在线成人| 麻豆国产一区| 久久三级视频| 亚洲高清影视| 中文字幕av一区二区三区四区| 亚洲精品电影| 在线观看亚洲精品福利片| 欧美视频久久| 98精品视频| 美女网站一区| 日本不卡高清视频| 老牛国内精品亚洲成av人片| 久久精品二区亚洲w码| 国产精选在线| 影音先锋久久| 国产免费av一区二区三区| 97精品中文字幕| 亚洲激情黄色| 久久国内精品视频| 久久久久网站| 蜜桃视频在线观看一区| 国产探花在线精品| 久久精品青草| 69堂免费精品视频在线播放| 国精品产品一区| 99视频+国产日韩欧美| 国产乱码精品一区二区三区亚洲人| 久久在线免费| 美女久久久久久| 日韩在线播放一区二区| 国产成人精品福利| 日韩精品免费视频人成| 久久精品免费一区二区三区| 日韩av影院| 日韩精品影视| 欧美日韩视频免费看| 亚洲一本视频| 都市激情国产精品| 日韩一区二区三免费高清在线观看 | 国产毛片一区二区三区| 九九综合在线| 福利一区二区| 国产欧美自拍一区| 中文字幕亚洲影视| 亚洲激情精品| 国产suv精品一区二区四区视频 | 日韩理论视频| 久久国产精品免费一区二区三区| 国产婷婷精品| 久久国产亚洲| 国产福利91精品一区二区| 国产精品主播| 欧美日一区二区在线观看| 免费一区二区视频| 蜜臀91精品国产高清在线观看 | 国产成人精品亚洲线观看| 美女精品视频在线| 你懂的国产精品永久在线| 国产高清视频一区二区| 国产九九精品| 国产suv精品一区二区四区视频| 福利一区二区| 久久久成人网| 一区福利视频| 四虎精品永久免费| 911精品国产| 精品淫伦v久久水蜜桃| 欧美1区二区| 激情不卡一区二区三区视频在线| 国产精品高潮呻吟久久久久| 国产精品三p一区二区| 国产福利91精品一区二区| 国产欧洲在线| 欧美丝袜一区| 日韩二区三区四区| 国产一区二区三区不卡视频网站 | 国产精品天堂蜜av在线播放| 青草综合视频| 国产精品久久久久蜜臀| 久久视频一区| re久久精品视频| 亚洲欧美视频一区二区三区| 日韩精品国产欧美| 精品久久电影| 欧美在线综合| 国产成人a视频高清在线观看| 中文一区在线| 美腿丝袜在线亚洲一区| 欧美成人久久| 精品视频在线你懂得| 99国产精品久久久久久久| 欧美在线不卡| 欧美福利在线| 久久亚洲道色| 在线亚洲免费| 国产日韩欧美一区二区三区| 精品三级久久| 国产乱人伦丫前精品视频| 91超碰国产精品| 国产精品亚洲一区二区在线观看| 婷婷精品进入| 麻豆久久一区| 日韩国产精品久久久久久亚洲| 福利在线一区| 欧美天堂一区| 欧美综合二区| 啪啪国产精品| 精品国产欧美| 国产欧美日韩一区二区三区在线| 婷婷综合亚洲| 水蜜桃精品av一区二区| 国产美女撒尿一区二区| 蜜臀91精品一区二区三区| 欧美sm一区| 福利精品在线| 欧美国产视频| 91精品国产自产观看在线| 99久久亚洲精品蜜臀| 国产精选在线| 久草精品视频| 欧美1区二区| 久久99国产精品视频| 美女久久久久久| 精品美女久久|