PHP解密支付宝小程序的加密数据、手机号的示例代码
发布:smiling 来源: PHP粉丝网 添加日期:2022-04-12 08:50:40 浏览: 评论:0
这篇文章主要介绍了PHP解密支付宝小程序的加密数据、手机号的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。
1.小程序端代码示例
- my.getPhoneNumber({
- success: (res) => {
- let encryptedData = res.response;
- my.httpRequest({
- url: '你的后端服务端',
- data: encryptedData,
- });
- },
- fail: (res) => {
- console.log(res);
- console.log('getPhoneNumber_fail');
- },
- });
2.PHP后端解密示例
- public static function decryptData($encryptedData, $key = '开发设置-接口内容加密方式-查看-字符串')
- {
- $encrys = json_decode($encryptedData, true);
- $encryptedData = $encrys['response'];
- $str = base64_decode($encryptedData);
- $screct_key = base64_decode($key);
- //设置全0的IV
- $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
- $iv = str_repeat("\0", $iv_size);
- $decrypt_str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_CBC, $iv);
- $decrypt_str = self::stripPKSC7Padding($decrypt_str);
- return $decrypt_str;
- }
- public static function stripPKSC7Padding($source)
- {
- $char = substr($source, -1);
- $num = ord($char);
- if ($num == 62) return $source;
- $source = substr($source, 0, -$num);
- return $source;
- }
3.解密返回
{"code":"10000","msg":"Success","mobile":"185xxxxx111"}
知识点扩展:
php函数摘要-加密和解密类
1支付宝小程序手机号解密
加密数据
- {
- "response": "EaieI1W9gPK0zClNbA7P0T6svaSYq/1xejihTXNVSH0WyCjBIcP2xOwaAevaYgb4aeQ5NNRQaqbZgVvfJKfaLQ==",
- "sign": "iSHQH/r3rZiBx7N49SwQNHx2Y0B6OP2ePvhS+T2XKw9+dzt3T1W9T0cHSldFlkczcdPQ05Pi/bEygsZxip6StCNEqse7ou/nXx9QOAVNoBgZfb4bmFJxOl8DYeuF8VKQy+NdxuvRGJFpmVynZtSNy31BfD4663IowMj80/pfnmLJCEKqoS2oHWtGRRM7oIFEdCH5IJKCsq79qxFEPwmQVid2uN0XuL/Rg+lKN9eAbTGcBttVZGaI11vGDEBUq9sNksVJXWUHofszCeD9jGz8pGoNvApRt8Swe2RnVtWcnQ+Zh+G105fPpp3RYNZBSBV9EJJ5la5IEv8KfAwjW7jGFg=="
- }
解密函数
- /**
- * 解密
- *
- * return mix
- */
- function decryptData(string $encrypted_data)
- {
- $key = env('EAS');
- $aesKey=base64_decode($key);
- $iv = 0;
- $aesIV=base64_decode($iv);
- $aesCipher=base64_decode($encrypted_data);
- $result=openssl_decrypt( $aesCipher, "AES-128-CBC", $aesKey, 1, $aesIV);
- return $result;
- }
解密过程
- echo decryptData('EaieI1W9gPK0zClNbA7P0T6svaSYq/1xejihTXNVSH0WyCjBIcP2xOwaAevaYgb4aeQ5NNRQaqbZgVvfJKfaLQ==');
- // {"code":"10000","msg":"Success","mobile":"1342XXXXXXX"}
Tags: PHP解密支付宝小程序
- 上一篇:PHP实现一个二维码同时支持支付宝和微信支付的示例
- 下一篇:最后一页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)