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 str_pad 函数使用详解
Jan 13 PHP
php cookies中删除的一般赋值方法
May 07 PHP
php中将数组存到文件里的实现代码
Jan 19 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
php多文件上传实现代码
Feb 20 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 PHP
php字符串的替换,分割和连接方法
May 23 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
Oct 31 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 PHP
php抽象方法和普通方法的区别点总结
Oct 13 PHP
laravel框架如何设置公共头和公共尾
Oct 22 PHP
laravel 解决后端无法获取到前端Post过来的值问题
Oct 22 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
探讨如何把session存入数据库
2013/06/07 PHP
nginx下安装php7+php5
2016/07/31 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
jquery事件的ready()方法使用详解
2015/11/11 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
JS完成画圆圈的小球
2017/03/07 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
python psutil模块使用方法解析
2019/08/01 Python
Django连接数据库并实现读写分离过程解析
2019/11/13 Python
Python3-异步进程回调函数(callback())介绍
2020/05/02 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
一家专门做特卖的网站:唯品会
2016/10/09 全球购物
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
有影响力的人、名人和艺术家的官方商品:Represent
2019/11/26 全球购物
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
Python可视化学习之seaborn调色盘
2022/02/24 Python
MySQL RC事务隔离的实现
2022/03/31 MySQL
Elasticsearch 索引操作和增删改查
2022/04/19 Python