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 相关文章推荐
第十四节--命名空间
Nov 16 PHP
对squid中refresh_pattern的一些理解和建议
Apr 17 PHP
PHP+ACCESS 文章管理程序代码
Jun 21 PHP
php中显示数组与对象的实现代码
Apr 18 PHP
php在服务器执行exec命令失败的解决方法
Mar 03 PHP
PHP 字符串长度判断效率更高的方法
Mar 02 PHP
php实例分享之html转为rtf格式
Jun 02 PHP
PHPStrom 新建FTP项目以及在线操作教程
Oct 16 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
PHP convert_uudecode()函数讲解
Feb 14 PHP
php探针不显示内存解决方法
Sep 17 PHP
php 多个变量指向同一个引用($b = &$a)用法分析
Nov 13 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若干单维数组遍历方法的比较
2011/09/20 PHP
深入分析PHP引用(&)
2014/09/04 PHP
js带按钮的提示框可供选择示例代码
2013/09/17 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
2016/08/30 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
微信小程序实现上传word、txt、Excel、PPT等文件功能
2019/05/23 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
Python中super关键字用法实例分析
2015/05/28 Python
Python使用email模块对邮件进行编码和解码的实例教程
2016/07/01 Python
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
python中import学习备忘笔记
2017/01/24 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
Numpy中转置transpose、T和swapaxes的实例讲解
2018/04/17 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
anaconda如何查看并管理python环境
2019/07/05 Python
python实现贪吃蛇双人大战
2020/04/18 Python
python 如何实现遗传算法
2020/09/22 Python
台湾全方位线上课程与职能学习平台:TibaMe
2019/12/04 全球购物
2014年公司植树节活动方案
2014/03/04 职场文书
关于读书的活动方案
2014/08/14 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
实名检举信范文
2015/03/02 职场文书
解约证明模板
2015/06/19 职场文书
2015年中学团委工作总结
2015/07/22 职场文书