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 cookie 作用范围?不要在当前页面使用你的cookie
Mar 24 PHP
Cakephp 执行主要流程
Mar 24 PHP
php读取mysql乱码,用set names XXX解决的原理分享
Dec 29 PHP
php实现可以设置中奖概率的抽奖程序代码分享
Jan 19 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
php实现的常见排序算法汇总
Sep 08 PHP
php浏览历史记录的方法
Mar 10 PHP
php实现短信发送代码
Jul 05 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
Aug 23 PHP
PHP与SQL语句常用大全
Dec 10 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 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
Protoss兵种对照表
2020/03/14 星际争霸
PHP中字符安全过滤函数使用小结
2015/02/25 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
php读取sqlite数据库入门实例代码
2014/06/25 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
Bootstrap表单布局
2016/07/19 Javascript
AngularJS基础 ng-include 指令示例讲解
2016/08/01 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
2016/12/20 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
2017/03/23 jQuery
node.js如何操作MySQL数据库
2020/10/29 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
让 python 命令行也可以自动补全
2014/11/30 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
python如何通过实例方法名字调用方法
2018/03/21 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
什么是python的必选参数
2020/06/21 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
HTML5 body设置自适应全屏
2020/05/07 HTML / CSS
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
JAVA代码查错题
2014/10/10 面试题
国贸专业个人求职信分享
2013/12/04 职场文书
2014国庆黄金周超市促销活动方案
2014/09/21 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
绿色环保倡议书
2015/04/28 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
css3手动实现pc端横向滚动
2022/06/21 HTML / CSS