• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php接口数据加密、解密、验证签名_php技巧

php 搞代码 3年前 (2022-01-26) 30次浏览 已收录 0个评论

代码很简单,这里就不多废话了,直接奉上代码

<br /><?php<br />//header('Content-Type: text/xml; charset=utf-8');<br />include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'phpsec'.DIRECTORY_SEPARATOR.'Math'.DIRECTORY_SEPARATOR.'BigInteger.php');<br />include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'phpsec'.DIRECTORY_SEPARATOR.'Crypt'.DIRECTORY_SEPARATOR.'AES.php');<br />include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'phpsec'.DIRECTORY_SEPARATOR.'Crypt'.DIRECTORY_SEPARATOR.'RSA.php');<br />//密文<br />$crypttext = 'v66YKULHFld2JElhm/J9qik2Edr1JHdZIc/k/OesU2GbTX2usXyvF4jGvzvoihrrE8FsfKmllmjsMIjO5fdrS/FD20bYFii4JW3BO3bzshXmz6AEs2DWwG4sK9mNojfOC0IsMoV311X5/JlgUoQXkDy4F5HHpYE9d/xGb0g2XE/hnGSSy2cpQcvQtBlBmixwSckNhsEG92lovlOz8ULwkqG5o7x+qB7P/EMII/WaFAXBJXDXvZX7lmGcOgon6wLhKJLGXorP6BIxOg6LGc6Ux7BAt3i9+0lujNgxIq/sDsl23hsr3yOUpV5C5a813nrHx4HJyd/hBT1UvIUml+eTmJwWCpSfs2cvxIUr0CE57JAZVyXjK13shK3IsZHLPPsm/JcDCrdy0Co/d5uIGJAdzXdsQ56xsju+tlvnA1J6yq2tDIfYK/x6k911A5WXLKYxztD1nq+bTYN3Gv/WFfrzVtgWQBrh06ihS2cwvna0S9EV/YPmhnAjJmrX4trNr9NXQ9xaZaW4lGRg87U5QDV+nQjj1THk0XHFc69N9g2+DsAGyEs9tK6U0ZQ72hJZqZhBCDH1UKw0PLyIhJdxpgPPOWGp8/QVVU2julTeKunvgAAEc3n+GoZfqjsCDi1S6T2MTnjWYWNoFRBhvEZFD/revgpasTOzDQa5NqR1B+mUF70r6uw6MWLJ7cT9Tz3jq+CA';<br />$aeskey = base64_decode('qZe60QZFxuirub2ey4+7+Q==');<br />//AES解密,采用ECB模式<br />$aes = new Crypt_AES(CRYPT_MODE_ECB);<br />//设置AES密钥<br />$aes->setKey($aeskey);<br />//解密AES密文<br />$plaintext = $aes->decrypt(base64_decode($crypttext));<br />echo $plaintext;<br />echo '<hr />';<br />//AES加密明文<br />//echo $aes->encrypt($plaintext);<br />//rsa公钥<br />$publickey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCffOeIVYut9jW5w1L5uKX4aDvd837a8JhaWm5S8YqNQfgEmfD9T+rDknXLqMT+DXeQAqGo4hBmcbej1aoMzn6hIJHk3/TfTAToNN8fgwDotHewsTCBbVkQWtDTby3GouWToVsRi1i/A0Vfb0+xM8MnF46DdhhrnZrycERBSbyrcwIDAQAB';<br />//echo base64_decode($publickey);<br />//rsa签名<br />$signature = 'XHin4uUFqrKDEhKBD/hQisXLFFSxM6EZCvCPqnWCQJq3uEp3ayxmFuUgVE0Xoh4AIWjIIsOWdnaToL1bXvAFKwjCtXnkaRwUpvWrk+Q0eqwsoAdywsVQDEceG5stas1CkPtrznAIW2eBGXCWspOj+aumEAcPyYDxLhDN646Krzw=';<br />//echo base64_decode($signature);<br />$rsa = new Crypt_RSA();<br />//设置RSA签名模式 CRYPT_RSA_SIGNATURE_PSS or CRYPT_RSA_SIGNATURE_PKCS1<br />$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);<br />//var_dump($rsa->createKey());<br />//生成RSA公钥、私钥<br />//extract($rsa->createKey());<br />//使用RSA私钥生成签名<br />//$rsa->loadKey($privatekey);<br />//$signature = $rsa->sign($plaintext);<br />//使用RSA公钥验证签名<br />echo $plaintext;<br />$rsa->loadKey(base64_decode($publickey));<br />echo $rsa->verify($plaintext, base64_decode($signature)) ? 'verified' : 'unverified';<br />echo '<hr />';<br />//生成RSA公钥、私钥<br />//var_dump($rsa->createKey());<br />extract($rsa->createKey());<br />//使用RSA私<span>%本文来源gaodai#ma#com搞*代#码9网#</span><strong>搞gaodaima代码</strong>钥加密数据<br />$rsa->loadKey($privatekey);<br />$ciphertext = $rsa->encrypt($plaintext);<br />//使用RSA公钥解密数据<br />$rsa->loadKey($publickey);<br />echo $rsa->decrypt($ciphertext);<br />

以上就是本文所述的全部内容了,希望本代码能给大家学习php加密解密能够带来些帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php接口数据加密、解密、验证签名_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址