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 相关文章推荐
Classes and Objects in PHP5-面向对象编程 [1]
Oct 09 PHP
jQuery 源码分析笔记
May 25 PHP
php中使用Akismet防止垃圾评论的代码
Jun 10 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
Jul 01 PHP
PHP中使用GD库创建圆形饼图的例子
Nov 19 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
利用PHP将部分内容用星号替换
Apr 21 PHP
php数字每三位加逗号的功能函数
Oct 22 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
Jul 31 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
Apr 27 PHP
PHP后期静态绑定实例浅析
Dec 21 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
php中try catch捕获异常实例详解
2014/11/21 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
iOS10推送通知开发教程
2016/09/19 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
python给指定csv表格中的联系人群发邮件(带附件的邮件)
2019/12/31 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
优秀体育委员自荐书
2014/01/31 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
小学捐书活动总结
2014/07/05 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
教师节倡议书
2014/08/30 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
法院执行局工作总结
2015/08/11 职场文书
导游词之张家界
2019/10/31 职场文书
python中print格式化输出的问题
2021/04/16 Python
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis