婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > php的RSA加密解密算法原理與用法分析

php的RSA加密解密算法原理與用法分析

熱門標(biāo)簽:騰訊外呼管理系統(tǒng) 昭通辦理400電話 山西回?fù)芡夂粝到y(tǒng) 揚州地圖標(biāo)注app 青島語音外呼系統(tǒng)招商 河南電銷卡外呼系統(tǒng)哪家強 山西探意電話機器人 岳陽外呼型呼叫中心系統(tǒng)在哪里 百應(yīng)電話機器人服務(wù)

本文實例講述了php的RSA加密解密算法原理與用法。分享給大家供大家參考,具體如下:

最近因為工作的需要,要倒騰支付寶支付相關(guān)的知識,因為支付寶應(yīng)用了RSA加密機制,個人對此并不了解,所以在這里寫下一篇總結(jié)。

1、生成公鑰和私鑰

要應(yīng)用RSA算法,必須先生成公鑰和私鑰,公鑰和私鑰的生成可以借助openssl工具。

本次測驗是在windows下進(jìn)行的,可以到以下的地址下載windows安裝包:http://gnuwin32.sourceforge.net/packages/openssl.htm,安裝過程不再贅述。

安裝過后,進(jìn)入到安裝目錄的bin目錄下,執(zhí)行如下命令:

openssl.exe     // 進(jìn)入OpenSSL程序
genrsa -out rsa_private_key.pem 1024 //生成私鑰,執(zhí)行成功后可以在當(dāng)前目錄下看到生成了rsa_private_key.pem文件
pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt  //如果你使用的java,需要將私鑰轉(zhuǎn)換成PKCS8格式
rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem //生成公鑰,執(zhí)行成功后可以在當(dāng)前目錄下看到生成rsa_public_key.pem文件

公鑰rsa_public_key.pem的內(nèi)容:

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDc5nSC6mHl9bmM6L8n7Sq1+Ft6
VF8LcU3jst8RIy7WqXXd5XZomc0cJLxVz3Vc0vgUKKJyP6q2ozDOCFgCp7Q9InFg
ngtNVLEJ1+Nm0+snUDbYbnrfW8wwSPG0jPQ73CgMxOdv+IGhir6mEITbdEh+ZsVc
GRd0OvKYIg+Itgk3/QIDAQAB
-----END PUBLIC KEY-----

私鑰rsa_private_key.pem的內(nèi)容:

-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDD4KA0yU7EG7ZA32OAVDHlwXf9LYywXGn7Ma9LffnFL57cpYoQ
Wf0Oz8FE9/UnjFOeHs2XjDrhe+uqVtYX/9Vi/znJgP9D7hpTo2NJHM/AUykD+itl
cie2Tu+sjJQi0JFVcpc3D0ooTBhng35406CucRaOn/a52mxQnGtA4AmsSwIDAQAB
AoGAG25nwTy39SrUWT1vl9cyrbRsc15fp4sppG4O2Imp4v2KR+g+749KqzpZHKmF
AabbRveVXzXaQR2zoUVL8kx3u4hqY4M/S1AcOxNPIJKB703XxA1yf2Ta2CvLsWTm
tsDWRW1WudF18yOZf3q7aoyMhpBUMlmhH4mvIYWOPFj0zaECQQD4A11Q8sfpOcIK
fMz5jJymLMZ9P8gxNbafwjxTdTXht/MUprEAePslP3AeyKBMJNYGs04/lOQzksp+
ZG6j7/XzAkEAyi9zj8EaPlleAil8mB5wDWiibQ/Z92nMLSUmH5FoO013dvumBI8c
CcP1/go2sj3H4RQEWycr360yTubNkkHOSQJAcRRPos3fOkZ8Y329k3Z6IgY+RfMj
2tQLvVG5YbAKbi0J5vuNrpJ6p+QBwfdlpvIQp6NvZOwFFEK0kuZFz/dj4wJBALyc
cZCMUoARfEpGC24ZDuzjTIqzO+G7d3Yx7pOKYRLZXHXJogEkw8I0ZXmca5PxYFIP
C1VBgINEHedPFjy3WMkCQEh3FG0xDpUFXETct5L1whT8lsN0EK3ZmcfDePcbKuHW
iE5pbNn7ytpVT+jiT3+FVEZVSZCiW0lDnyd86Ppos5g=
-----END RSA PRIVATE KEY-----

公鑰和私鑰生成好了之后,私鑰自己保存,將公鑰交給第三方即可。

2、php的RSA加密解密

在做加密解密之前,首先要確保php已經(jīng)開啟了openssl拓展,可以通過phpinfo()函數(shù)進(jìn)行查看。

通常情況下,有以下兩種情形:

①通過公鑰加密,通過私鑰解密;

②通過私鑰加密,通過公鑰解密;

支付寶的業(yè)務(wù)場景屬于第二種情形:

  1. 業(yè)務(wù)方支付寶發(fā)送支付請求,將sign參數(shù)通過自己的私鑰加密過后發(fā)送到支付寶的接口;
  2. 支付寶方向業(yè)務(wù)方發(fā)送支付結(jié)果,將sign參數(shù)通過自己的私鑰加密過后發(fā)送到業(yè)務(wù)方的notify接口;

下面就以支付寶的業(yè)務(wù)邏輯為例,實現(xiàn)以下第二種加解密:

加密:

$data = "我是待加密的字符串";
echo sign($data, 'rsa_private_key.pem');
 /* 簽名 */
function sign($data, $rsaPrivateKey) {
   /* 獲取私鑰PEM文件內(nèi)容,$rsaPrivateKey是指向私鑰PEM文件的路徑 */
   $priKey = file_get_contents($rsaPrivateKey);
   /* 從PEM文件中提取私鑰 */
   $res = openssl_get_privatekey($priKey);
   /* 對數(shù)據(jù)進(jìn)行簽名 */
   //openssl_sign($data, $sign, $res);
   openssl_private_encrypt($data, $sign, $res);
   /* 釋放資源 */
   openssl_free_key($res);
   /* 對簽名進(jìn)行Base64編碼,變?yōu)榭勺x的字符串 */
   $sign = base64_encode($sign);
   return $sign;
 }

執(zhí)行后得到如下字符串:

geNTbwabOYT1l2TIkaxgxnCZDop8pynyNtMNbYATtmyyOlxgJhm363ufeHbNboIhc3Pzi7kVrWPPkFsNUiGnS4mATzAcf0woJVC+26g5j19yQqb00Fr+XVipEVyN0sn9/uhlot6m6qj7h5adaREvsY/30jTld6kDkkQF8k3Eg+Y=

解密:

$data = "geNTbwabOYT1l2TIkaxgxnCZDop8pynyNtMNbYATtmyyOlxgJhm363ufeHbNboIhc3Pzi7kVrWPPkFsNUiGnS4mATzAcf0woJVC+26g5j19yQqb00Fr+XVipEVyN0sn9/uhlot6m6qj7h5adaREvsY/30jTld6kDkkQF8k3Eg+Y=";
echo decrypt($data, 'rsa_public_key.pem');
function decrypt($data, $rsaPublicKey) {
   /* 獲取公鑰PEM文件內(nèi)容,$rsaPublicKey是指向公鑰PEM文件的路徑 */
   $pubKey = file_get_contents($rsaPublicKey);
   /* 從PEM文件中提取公鑰 */
   $res = openssl_get_publickey($pubKey);
   /* 對數(shù)據(jù)進(jìn)行解密 */
   openssl_public_decrypt(base64_decode($data), $decrypted, $res);
   /* 釋放資源 */
   openssl_free_key($res);
   return $decrypted;
 }

第一種情形與第二種情形類似,在此不在贅述。

注:支付寶使用的加密函數(shù)是openssl_sign,之后的校驗可以使用openssl_verify函數(shù)進(jìn)行校驗。

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

在線RSA加密/解密工具:
http://tools.jb51.net/password/rsa_encode

文字在線加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

在線散列/哈希算法加密工具:
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ù)學(xué)運算技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》及《php正則表達(dá)式用法總結(jié)》

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

您可能感興趣的文章:
  • 六種php加密解密方法實例講解
  • PHP rsa加密解密算法原理解析
  • 基于PHP實現(xiàn)解密或加密Cloudflar郵箱保護(hù)
  • php中加密解密DES類的簡單使用方法示例
  • RSA實現(xiàn)JS前端加密與PHP后端解密功能示例
  • Js通過AES加密后PHP用Openssl解密的方法
  • PHP實現(xiàn)的AES雙向加密解密功能示例【128位】
  • PHP實現(xiàn)的XXTEA加密解密算法示例
  • PHP實現(xiàn)基于3DES算法加密解密字符串示例
  • PHP實現(xiàn)的AES加密、解密封裝類與用法示例
  • PHP實現(xiàn)的DES加密解密類定義與用法示例
  • 基于PHP RSA密文過長加密解密 越過1024的解決方法
  • PHP的RSA加密解密方法以及開發(fā)接口使用
  • PHP使用自定義key實現(xiàn)對數(shù)據(jù)加密解密的方法
  • php實現(xiàn)的三個常用加密解密功能函數(shù)示例
  • PHP代碼加密和擴展解密實戰(zhàn)

標(biāo)簽:鎮(zhèn)江 湛江 宜賓 寶雞 黃南 南陽 婁底 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php的RSA加密解密算法原理與用法分析》,本文關(guān)鍵詞  php,的,RSA,加密解密,算法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php的RSA加密解密算法原理與用法分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于php的RSA加密解密算法原理與用法分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久香蕉国产线看观看99| 国内久久精品视频| 天天操天天色综合| 精品剧情v国产在线观看在线| 久久国产精品一区二区| 欧美特级限制片免费在线观看| 天天综合网 天天综合色| 欧美性一区二区| 国产成a人无v码亚洲福利| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 日韩理论片网站| 蜜桃av噜噜一区| 日韩不卡手机在线v区| 丁香婷婷综合色啪| 亚洲国产视频直播| 中文在线资源观看网站视频免费不卡| 欧美唯美清纯偷拍| 北岛玲一区二区三区四区| 免费观看日韩av| 日韩理论片网站| 久久久久久久久一| 欧美一区二区三区视频| 99r国产精品| 国产成人在线色| 蜜臀av国产精品久久久久| 亚洲欧美成aⅴ人在线观看| 久久免费电影网| 日韩午夜在线观看| 欧美日韩午夜在线视频| 91视频免费播放| 粉嫩aⅴ一区二区三区四区五区| 日韩精品一二三| 夜色激情一区二区| 国产精品成人一区二区三区夜夜夜| 日韩精品中文字幕在线不卡尤物 | 久久久久久久免费视频了| 欧美日韩和欧美的一区二区| 91视视频在线观看入口直接观看www| 国产一区二区三区免费观看| 久久99精品久久久| 日本美女一区二区| 五月婷婷久久丁香| 亚洲va欧美va国产va天堂影院| 亚洲伦理在线精品| 国产精品久久久一本精品| 国产亚洲综合在线| 日韩精品一区二区在线| 在线观看视频91| 日一区二区三区| 精品国产污网站| 精品国产伦一区二区三区观看体验 | 国产呦精品一区二区三区网站| 亚洲精品伦理在线| 中文字幕视频一区二区三区久| 久久久国产午夜精品| 精品国产欧美一区二区| 久久综合五月天婷婷伊人| 欧美变态tickling挠脚心| 51午夜精品国产| 欧美精品v日韩精品v韩国精品v| 在线电影院国产精品| 91精品综合久久久久久| 99久久精品久久久久久清纯| 粗大黑人巨茎大战欧美成人| 日本人妖一区二区| 麻豆一区二区99久久久久| 免费看精品久久片| 国产在线一区二区综合免费视频| 国产suv一区二区三区88区| 不卡视频一二三| 在线日韩一区二区| 日韩一级视频免费观看在线| 久久久美女毛片| 欧美国产乱子伦| 亚洲国产欧美在线人成| 偷窥少妇高潮呻吟av久久免费| 久久国产日韩欧美精品| 久久精品av麻豆的观看方式| 国产成人av网站| 91麻豆产精品久久久久久| 欧美日韩国产一区二区三区地区| 精品国产污网站| 亚洲午夜三级在线| 国产原创一区二区| 色综合天天综合给合国产| 4438x亚洲最大成人网| 欧美经典三级视频一区二区三区| 亚洲欧美国产77777| 日本成人在线网站| av资源网一区| 精品日韩在线观看| 亚洲男人的天堂在线aⅴ视频| 人人狠狠综合久久亚洲| eeuss国产一区二区三区| 欧美三电影在线| 国产三级精品视频| 日韩电影一区二区三区四区| 99热精品国产| 国产午夜亚洲精品理论片色戒| 五月婷婷久久丁香| 色综合中文字幕国产| 欧美一区二区精品久久911| 亚洲欧美日韩国产中文在线| 久久不见久久见免费视频1| 欧美在线观看一二区| 日本一区二区三区国色天香| 男女性色大片免费观看一区二区| 91麻豆福利精品推荐| 国产片一区二区三区| 亚洲视频小说图片| 国产精选一区二区三区| 91精品国模一区二区三区| 亚洲免费三区一区二区| 久久se精品一区二区| 91精品国产综合久久久蜜臀图片| 亚洲欧洲综合另类在线 | 日韩不卡一区二区| 制服丝袜日韩国产| 日韩精品视频网站| 欧美色偷偷大香| 亚洲国产你懂的| 国产成人免费9x9x人网站视频| 色婷婷精品久久二区二区蜜臂av | 自拍偷拍欧美激情| 成人网在线免费视频| 26uuu国产电影一区二区| 麻豆一区二区在线| 日韩一区二区三区视频在线| 亚洲国产毛片aaaaa无费看| 在线免费观看日韩欧美| 亚洲精选视频在线| 在线观看网站黄不卡| 亚洲午夜在线观看视频在线| 欧美婷婷六月丁香综合色| 亚洲成人一区在线| 91精品国产综合久久蜜臀| 美国十次了思思久久精品导航| 欧美电影免费提供在线观看| 国产原创一区二区| 国产精品久久久久aaaa樱花| av在线这里只有精品| 亚洲免费av在线| 欧美系列亚洲系列| 亚洲久草在线视频| 91毛片在线观看| 亚洲一区二区三区四区五区中文| 欧美丝袜丝nylons| 精品一区二区三区在线观看国产| 国产清纯在线一区二区www| 93久久精品日日躁夜夜躁欧美| 亚洲精品高清视频在线观看| 成人av影院在线| 亚洲午夜影视影院在线观看| 日本一区二区三区在线观看| 成人综合在线观看| 国产拍揄自揄精品视频麻豆| 欧美羞羞免费网站| 国产精品一级片| 性做久久久久久| 国产午夜精品一区二区| 91久久精品一区二区二区| 琪琪久久久久日韩精品| 国产精品久久久久aaaa樱花| 777午夜精品视频在线播放| 亚洲超碰精品一区二区| 久久综合九色欧美综合狠狠| 97久久精品人人澡人人爽| 日本美女一区二区三区视频| 亚洲视频网在线直播| 精品国产三级a在线观看| 日本丰满少妇一区二区三区| 久久99久久精品欧美| 中文字幕一区二区视频| 欧美日本免费一区二区三区| 国产精品乡下勾搭老头1| 亚洲国产精品视频| 国产精品女主播av| 日韩欧美中文字幕制服| 欧美制服丝袜第一页| 粉嫩在线一区二区三区视频| 欧美精品久久久久久久多人混战| 色婷婷久久久综合中文字幕| 午夜日韩在线电影| 亚洲成人动漫在线观看| 精品日韩一区二区三区| 99久久婷婷国产综合精品电影| 欧美一区二区成人| 亚洲无线码一区二区三区| 国产精品久久久久国产精品日日| 欧美二区三区的天堂| 夜夜精品视频一区二区| 一区二区三区美女视频| 亚洲视频免费在线| 中文字幕中文在线不卡住| 亚洲一二三四区不卡| 中文子幕无线码一区tr| 亚洲福中文字幕伊人影院| 亚洲人成影院在线观看| 九色综合狠狠综合久久| 欧美三级在线视频|