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 相关文章推荐
ThinkPHP采用模块和操作分析
Apr 18 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
php常用Stream函数集介绍
Jun 24 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 PHP
PHP实现导出带样式的Excel
Aug 28 PHP
php微信公众平台交互与接口详解
Nov 28 PHP
PHP实现的多维数组排序算法分析
Feb 10 PHP
php中错误处理操作实例分析
Aug 23 PHP
php实例化一个类的具体方法
Sep 19 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
Apr 22 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
May 14 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
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
php FPDF类库应用实现代码
2009/03/20 PHP
php中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
javascript脚本调试方法小结
2008/11/24 Javascript
javascript 图片上传预览-兼容标准
2009/06/01 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
关于jquery的多个选择器的使用示例
2013/10/18 Javascript
javascript多物体运动实现方法分析
2016/01/08 Javascript
分享javascript计算时间差的示例代码
2020/03/19 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
2020/01/16 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
python基于queue和threading实现多线程下载实例
2014/10/08 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
会计毕业生自荐书
2014/06/12 职场文书
法院个人总结
2015/03/03 职场文书
公司行政管理制度范本
2015/08/05 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书