課程
/后端開發
/PHP
/PHP加密
Brown老師,能把綜合實踐的代碼放出來嗎 可以發我郵箱 [email protected]? 謝謝
2019-08-05
源自:PHP加密 2-4
正在回答
自己敲的,已經測試沒問題了
第一個客戶端的
<?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); }
第二個服務端的
<?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參數的 //解析編碼 $q?=?$_GET['q']; //解密 //將數據賦值給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?'連接超時!'; ????} ????unset($params['sign']); ????ksort($params); ????$q?=?http_build_query($params); ????return?md5($q.$conf[$params['appKey']]); }
淼良
厲害,謝謝!??
謝謝 謝謝
舉報
為什么要使用加密,讓我們對密碼學有個初步的認識。
2 回答源碼有分享嗎?
1 回答這個課程挺實用的,實際工作中會有加密解密的問題。
1 回答老師有沒有其他課程
4 回答老師,為什么用openssl_public_encrypt($queryString,$encrypt,$public);報錯啊
1 回答如何解決客戶端的secretKey泄露問題呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-08-21
第一個客戶端的
第二個服務端的
2020-04-04
厲害,謝謝!??
2019-08-22
謝謝 謝謝