課程
/后端開發(fā)
/PHP
/PHP加密
Brown老師,能把綜合實(shí)踐的代碼放出來(lái)嗎 可以發(fā)我郵箱 sandyddlong@163.com? 謝謝
2019-08-05
源自:PHP加密 2-4
正在回答
自己敲的,已經(jīng)測(cè)試沒問(wèn)題了
第一個(gè)客戶端的
<?php $public?=?'-----BEGIN?PUBLIC?KEY----- MIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQBnTj4S97mYkJePENDd1SR6 sFjFFCdPQ1KTa+fPsv1VRP4+9FtDwj4Oz5MQeaw0I0hOFIjEy2wVNds5dXbY3njK KVSw13CcQ7AtsoEy5i/gGhwEiaZewC8Of2FsHGBc5Agw99Pbbbgj+nXlPGfax4x1 +3uB3xIWc9ivnWKvTC3eV2bjvXj46d7Cz0Vn9Y0xAFY8hiY2F+jV2iJO9cNuyPWP icIEHCfDv3WnXNU3WvwdaxVXTrGsOMIVjL4w9yhdoSFLigmUKvY0pQOaakSQaR4a GvkznndEzVyjaQqmIAZHeoaUeGAdKyyk4GTFJyHz+QeW2S4vdatSwHoQX/yunLDV AgMBAAE= -----END?PUBLIC?KEY-----'; $appKey?=?'fdjdcpcoododpddd'; $secretKey?=?'ferg84ergg8gdg8v34v35dv5d'; $url?=?'http://127.0.0.1:5555/lianxi/server.php?'; $params['appKey']?=?$appKey; $params['orderId']?=?1; $params['name']?????='Darren'; $params['password']?=?'123321'; $params['time']?????=?time(); $queryString?=?http_build_query($params); $sign?=?getSign($params,$secretKey); $queryString?.="&sign="?.$sign; //$url?.=?$queryString; $encrypt?=?''; openssl_public_encrypt($queryString,$encrypt,$public); $encrypt?=?urlencode($encrypt); $url?.='q='?.?$encrypt; var_dump($url); function?getSign($params,$secretKey) { ????ksort($params); ????$q?=?http_build_query($params); ????$q.=$secretKey; ????return?md5($q); }
第二個(gè)服務(wù)端的
<?php $private?=?'-----BEGIN?RSA?PRIVATE?KEY----- MIIEoQIBAAKCAQBnTj4S97mYkJePENDd1SR6sFjFFCdPQ1KTa+fPsv1VRP4+9FtD wj4Oz5MQeaw0I0hOFIjEy2wVNds5dXbY3njKKVSw13CcQ7AtsoEy5i/gGhwEiaZe wC8Of2FsHGBc5Agw99Pbbbgj+nXlPGfax4x1+3uB3xIWc9ivnWKvTC3eV2bjvXj4 6d7Cz0Vn9Y0xAFY8hiY2F+jV2iJO9cNuyPWPicIEHCfDv3WnXNU3WvwdaxVXTrGs OMIVjL4w9yhdoSFLigmUKvY0pQOaakSQaR4aGvkznndEzVyjaQqmIAZHeoaUeGAd Kyyk4GTFJyHz+QeW2S4vdatSwHoQX/yunLDVAgMBAAECggEAQ9pqfz7jUsg2JCwh ZHNpIITP6bKRF0ja5iXL/upL50QH0wXhJCJjbIr+x6WDbEN4bICkTM5oUY4sThNP WqbVo8N98yGuv5TeFUXYArya2ZGMsZZQBpAo2FbmgIIq8Rh+INvG9auddVQ/N7Bz bon/QkdKGkWQtdqlisPPW+CniA/+rSYpmXB4ygeGq/gp8n1BBQy8b4PlftVyQ2Gt texbuBNr4a8PQ5DztkUdNArV4jzkeOkvk6lZmq8RWCwSWzo2QLuYS4ZfRvhcCwV4 x7E5mNBNLPGhY+ZK0U8i0L3zyBBnBhKLS6vCOpdJrXEUUrc2eGxZBIPemxGB3Okd bPbTyQKBgQCoR5+oaeAd4bAFEF7kOJhisgky9a2lzJAfgEX7lX06lzulWnnlLUs5 qf1tG61e56NoF8SFweLqXJ50V/ZqTEtJgrTgPsnjesJefEfqbHQ+Pcxr9ZOhpTC3 w7+NDavQ3oK+qBYX7hLgofIo/T8nSZvvpVrnvdwKjb58v05FVxzI4wKBgQCdKAkU G8tUvumOd3LAdSVVpJjwwJjz4zjOK53lqH5Idh2hmR53VcKJ2qkMEEJsbOSxywB7 FBctHGwYA+iwatMFZ72j8dgYGzHCcNNvV0rHautmu7ZS5YQsXQ0zCwbWfmmB4BNw UFtbeM42bJPdSbOqLGaPtQwRXetrq0gC7eak5wKBgFroNmv4pkX+QeS6b0jC+i93 FlkdN222ELWzyhqbK0eXo3U0Z11TFqxUFL/4j7QRVslI7bWEhF0vI7qeOlQ6WwGf Rq9NvCrTimUYppERfcqR//jidZqBbswXR0ef9w2i5uawTx8mUbRgSD20cYV70m2n 2nAOtOxOnnUts87pvHcZAoGAUWqMSX6cuCqvlL8NE+ecj+HV2ePtWWw94ZF3G6NO yPtoHm/U+L3VKtW8/iLuRn2jfPhOJ3UhDJ3M4iQkSEEPUZ2NAYIpEVQFU1ZgMy5l 7ynVCkP1EL0W3GTYkbkEsdqLjl0ntOfsbFcJfeiCMgIcseyOtaR1vAmMDRuPEvVs p8ECgYB/GnGM1HAShL1ruS/Gu8JbZN671PsG83/xMMadB6eAicS+HAnWA+BEaJ9G /XK+r2wk+mO8WQdoEl7Z9z7ga/02WuMIGwNSR4FjY/ZtK3ei/Dd4x3a/Iv/Mb1eo z50zvSHGS1icNS0ESJlG0UdDNefohsex8Ylfd9pPr+4fwPxcJQ== -----END?RSA?PRIVATE?KEY-----'; //接收q參數(shù)的 //解析編碼 $q?=?$_GET['q']; //解密 //將數(shù)據(jù)賦值給param $value?=?''; openssl_private_decrypt($q,$value,$private); $params?=?[]; parse_str($value,$params); //$params?=?$_GET; $sign?=?getSign($params); if?($sign?!=$params['sign']){ ????echo?'error'; } echo?'succ'; function?getSign($params) { ????$conf?=?[ ????????'fdjdcpcoododpddd'?=>?'ferg84ergg8gdg8v34v35dv5d', ????]; ????if?(abs($params['time']-time()>=600)){ ????????echo?'連接超時(shí)!'; ????} ????unset($params['sign']); ????ksort($params); ????$q?=?http_build_query($params); ????return?md5($q.$conf[$params['appKey']]); }
淼良
厲害,謝謝!??
謝謝 謝謝
舉報(bào)
為什么要使用加密,讓我們對(duì)密碼學(xué)有個(gè)初步的認(rèn)識(shí)。
2 回答源碼有分享嗎?
1 回答這個(gè)課程挺實(shí)用的,實(shí)際工作中會(huì)有加密解密的問(wèn)題。
1 回答老師有沒有其他課程
4 回答老師,為什么用openssl_public_encrypt($queryString,$encrypt,$public);報(bào)錯(cuò)啊
1 回答數(shù)據(jù)太長(zhǎng)的話加密有問(wèn)題,怎么辦
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2019-08-21
第一個(gè)客戶端的
<?php $public?=?'-----BEGIN?PUBLIC?KEY----- MIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQBnTj4S97mYkJePENDd1SR6 sFjFFCdPQ1KTa+fPsv1VRP4+9FtDwj4Oz5MQeaw0I0hOFIjEy2wVNds5dXbY3njK KVSw13CcQ7AtsoEy5i/gGhwEiaZewC8Of2FsHGBc5Agw99Pbbbgj+nXlPGfax4x1 +3uB3xIWc9ivnWKvTC3eV2bjvXj46d7Cz0Vn9Y0xAFY8hiY2F+jV2iJO9cNuyPWP icIEHCfDv3WnXNU3WvwdaxVXTrGsOMIVjL4w9yhdoSFLigmUKvY0pQOaakSQaR4a GvkznndEzVyjaQqmIAZHeoaUeGAdKyyk4GTFJyHz+QeW2S4vdatSwHoQX/yunLDV AgMBAAE= -----END?PUBLIC?KEY-----'; $appKey?=?'fdjdcpcoododpddd'; $secretKey?=?'ferg84ergg8gdg8v34v35dv5d'; $url?=?'http://127.0.0.1:5555/lianxi/server.php?'; $params['appKey']?=?$appKey; $params['orderId']?=?1; $params['name']?????='Darren'; $params['password']?=?'123321'; $params['time']?????=?time(); $queryString?=?http_build_query($params); $sign?=?getSign($params,$secretKey); $queryString?.="&sign="?.$sign; //$url?.=?$queryString; $encrypt?=?''; openssl_public_encrypt($queryString,$encrypt,$public); $encrypt?=?urlencode($encrypt); $url?.='q='?.?$encrypt; var_dump($url); function?getSign($params,$secretKey) { ????ksort($params); ????$q?=?http_build_query($params); ????$q.=$secretKey; ????return?md5($q); }第二個(gè)服務(wù)端的
<?php $private?=?'-----BEGIN?RSA?PRIVATE?KEY----- MIIEoQIBAAKCAQBnTj4S97mYkJePENDd1SR6sFjFFCdPQ1KTa+fPsv1VRP4+9FtD wj4Oz5MQeaw0I0hOFIjEy2wVNds5dXbY3njKKVSw13CcQ7AtsoEy5i/gGhwEiaZe wC8Of2FsHGBc5Agw99Pbbbgj+nXlPGfax4x1+3uB3xIWc9ivnWKvTC3eV2bjvXj4 6d7Cz0Vn9Y0xAFY8hiY2F+jV2iJO9cNuyPWPicIEHCfDv3WnXNU3WvwdaxVXTrGs OMIVjL4w9yhdoSFLigmUKvY0pQOaakSQaR4aGvkznndEzVyjaQqmIAZHeoaUeGAd Kyyk4GTFJyHz+QeW2S4vdatSwHoQX/yunLDVAgMBAAECggEAQ9pqfz7jUsg2JCwh ZHNpIITP6bKRF0ja5iXL/upL50QH0wXhJCJjbIr+x6WDbEN4bICkTM5oUY4sThNP WqbVo8N98yGuv5TeFUXYArya2ZGMsZZQBpAo2FbmgIIq8Rh+INvG9auddVQ/N7Bz bon/QkdKGkWQtdqlisPPW+CniA/+rSYpmXB4ygeGq/gp8n1BBQy8b4PlftVyQ2Gt texbuBNr4a8PQ5DztkUdNArV4jzkeOkvk6lZmq8RWCwSWzo2QLuYS4ZfRvhcCwV4 x7E5mNBNLPGhY+ZK0U8i0L3zyBBnBhKLS6vCOpdJrXEUUrc2eGxZBIPemxGB3Okd bPbTyQKBgQCoR5+oaeAd4bAFEF7kOJhisgky9a2lzJAfgEX7lX06lzulWnnlLUs5 qf1tG61e56NoF8SFweLqXJ50V/ZqTEtJgrTgPsnjesJefEfqbHQ+Pcxr9ZOhpTC3 w7+NDavQ3oK+qBYX7hLgofIo/T8nSZvvpVrnvdwKjb58v05FVxzI4wKBgQCdKAkU G8tUvumOd3LAdSVVpJjwwJjz4zjOK53lqH5Idh2hmR53VcKJ2qkMEEJsbOSxywB7 FBctHGwYA+iwatMFZ72j8dgYGzHCcNNvV0rHautmu7ZS5YQsXQ0zCwbWfmmB4BNw UFtbeM42bJPdSbOqLGaPtQwRXetrq0gC7eak5wKBgFroNmv4pkX+QeS6b0jC+i93 FlkdN222ELWzyhqbK0eXo3U0Z11TFqxUFL/4j7QRVslI7bWEhF0vI7qeOlQ6WwGf Rq9NvCrTimUYppERfcqR//jidZqBbswXR0ef9w2i5uawTx8mUbRgSD20cYV70m2n 2nAOtOxOnnUts87pvHcZAoGAUWqMSX6cuCqvlL8NE+ecj+HV2ePtWWw94ZF3G6NO yPtoHm/U+L3VKtW8/iLuRn2jfPhOJ3UhDJ3M4iQkSEEPUZ2NAYIpEVQFU1ZgMy5l 7ynVCkP1EL0W3GTYkbkEsdqLjl0ntOfsbFcJfeiCMgIcseyOtaR1vAmMDRuPEvVs p8ECgYB/GnGM1HAShL1ruS/Gu8JbZN671PsG83/xMMadB6eAicS+HAnWA+BEaJ9G /XK+r2wk+mO8WQdoEl7Z9z7ga/02WuMIGwNSR4FjY/ZtK3ei/Dd4x3a/Iv/Mb1eo z50zvSHGS1icNS0ESJlG0UdDNefohsex8Ylfd9pPr+4fwPxcJQ== -----END?RSA?PRIVATE?KEY-----'; //接收q參數(shù)的 //解析編碼 $q?=?$_GET['q']; //解密 //將數(shù)據(jù)賦值給param $value?=?''; openssl_private_decrypt($q,$value,$private); $params?=?[]; parse_str($value,$params); //$params?=?$_GET; $sign?=?getSign($params); if?($sign?!=$params['sign']){ ????echo?'error'; } echo?'succ'; function?getSign($params) { ????$conf?=?[ ????????'fdjdcpcoododpddd'?=>?'ferg84ergg8gdg8v34v35dv5d', ????]; ????if?(abs($params['time']-time()>=600)){ ????????echo?'連接超時(shí)!'; ????} ????unset($params['sign']); ????ksort($params); ????$q?=?http_build_query($params); ????return?md5($q.$conf[$params['appKey']]); }2020-04-04
厲害,謝謝!??
2019-08-22
謝謝 謝謝