PHP解密支付宝小程序的加密数据、手机号的示例代码


Posted in PHP onFebruary 26, 2021

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"}

到此这篇关于PHP解密支付宝小程序的加密数据,手机号的文章就介绍到这了,更多相关PHP解密支付宝小程序加密数据内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
分享PHP入门的学习方法
Jan 02 PHP
php中获取远程客户端的真实ip地址的方法
Aug 03 PHP
解析mysql left( right ) join使用on与where筛选的差异
Jun 18 PHP
PHP字符串中特殊符号的过滤方法介绍
Feb 18 PHP
destoon后台网站设置变成空白的解决方法
Jun 21 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
Oct 26 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
laravel5.4生成验证码的实例讲解
Aug 05 PHP
php5对象复制、clone、浅复制与深复制实例详解
Aug 14 PHP
通过实例解析PHP数据类型转换方法
Jul 11 PHP
详解PHP服务器如何在有限的资源里最大提升并发能力
May 25 PHP
php中get_object_vars()在数组的实例用法
Feb 22 #PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
Feb 22 #PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 #PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
Dec 29 #PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 29 #PHP
PHP实现简单注册登录系统
Dec 28 #PHP
php的lavarel框架中join和orWhere的用法
Dec 28 #PHP
You might like
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
Syphon 秘笈
2021/03/03 冲泡冲煮
多文件上传的例子
2006/10/09 PHP
一个简单实现多条件查询的例子
2006/10/09 PHP
PHP日期处理函数 整型日期格式
2011/01/12 PHP
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
php实现断点续传大文件示例代码
2020/06/19 PHP
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
jquery异步跨域访问代码
2013/06/28 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
Python中的装饰器用法详解
2015/01/14 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
解决python tkinter界面卡死的问题
2019/07/17 Python
Python logging设置和logger解析
2019/08/28 Python
Python class的继承方法代码实例
2020/02/14 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
Luxplus荷兰:以会员价购买美容产品等,独家优惠
2019/08/30 全球购物
应届生求职自荐信
2014/07/04 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
学前班语言教学计划
2015/01/20 职场文书
初中教师个人总结
2015/02/10 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
《中华上下五千年》读后感3篇
2019/11/29 职场文书