解决PHP7中微信(小程序)mcrypt_module_open() 无法使用的解决方法
在PHP7 中 mcrypt_module_open()已经被 OPENSSL 取代.
当然你要是还是想用 mcrypt_module_open()就安装 mcrypt 扩展.
使用 openssl 代替 mcrypt:
WXBizDataCrypt.php
public function decryptData( $encryptedData, $iv, &$data ){if (strlen($this->sessionKey) != 24) {return ErrorCode::$IllegalAesKey;}$aesKey=base64_decode($this->sessionKey);if (strlen($iv) != 24) {return ErrorCode::$IllegalIv;}$aesIV=base64_decode($iv);// $aesCipher=base64_decode($encryptedData);$aesCipher=$encryptedData;$pc = new Prpcrypt($aesKey);$result = $pc->decrypt($aesCipher,$aesIV);//var_dump($result);if ($result[0] != 0) {return $result[0];}$dataObj=json_decode( $result[1] );if( $dataObj == NULL ){return ErrorCode::$IllegalBuffer.'--';}if( $dataObj->watermark->appid != $this->appid ){return ErrorCode::$IllegalBuffer.';;';}$data = $result[1];return ErrorCode::$OK; }
PKCS7Encoder.php
/*** 对密文进行解密* [@param](https://my.oschina.net/u/2303379) string $aesCipher 需要解密的密文* [@param](https://my.oschina.net/u/2303379) string $aesIV 解密的初始向量* [@return](https://my.oschina.net/u/556800) string 解密得到的明文*/ public function decrypt( $aesCipher, $aesIV ) {try {// $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');// mcrypt_generic_init($module, $this->key, $aesIV);// //解密// $decrypted = mdecrypt_generic($module, $aesCipher);// mcrypt_generic_deinit($module);// mcrypt_module_close($module);$decrypted = openssl_decrypt($aesCipher,'AES-128-CBC',$this->key,OPENSSL_ZERO_PADDING,$aesIV);// var_dump($decrypted);} catch (Exception $e) {return array(ErrorCode::$IllegalBuffer, null);}try {//去除补位字符$pkc_encoder = new PKCS7Encoder;$result = $pkc_encoder->decode($decrypted);} catch (Exception $e) {//print $e;return array(ErrorCode::$IllegalBuffer, null);}return array(0, $result); }
解决PHP7中微信(小程序)mcrypt_module_open() 无法使用的解决方法相关推荐
- [微信小程序开发] 用wx.navigateTo方法跳转到tabBar中被定义了的页面将无法跳转
[微信小程序开发] 用wx.navigateTo方法跳转到tabBar中被定义了的页面将无法跳转 举例: main.js中: tabBar中 定义了页面"pages/test/main&qu ...
- 微信小程序怎么弄成链接_微信小程序怎么复制链接 技术方法帮你解决
总是听到很多朋友在问微信小程序怎么复制链接,其实方法还是比较多的.微信小程序现在用的人非常多,而且带起了一阵潮流之风,如果你还没有用过,那你就是太OUT了.下面我们就来为大家介绍一下技术的方法怎么解决 ...
- 微信小程序使用wxParse,解决图片显示路径问题
微信小程序使用wxParse,解决图片显示路径问题 参考文章: (1)微信小程序使用wxParse,解决图片显示路径问题 (2)https://www.cnblogs.com/zxf100/p/100 ...
- html自定义js程序,JS中微信小程序自定义底部弹出框
实现微信小程序底部弹出框效果,代码分为html,css和js两部分,具体代码详情大家参考下本文. html CSS .commodity_screen { width: 100%; height: 1 ...
- 基于有道翻译的英翻中微信小程序
基于有道翻译的英翻中微信小程序 环境 微信开发者工具 微信小程序云开发 node.js v12.16.3 axios@0.20.0 cheerio@1.0.0-rc.3 相关内容 Node.js有道翻 ...
- java监听微信_一种基于java后台应用监控微信小程序的用户访问量的方法与流程...
本发明涉及java应用与微信小程序应用开发技术领域,具体涉及一种基于java后台应用监控微信小程序的用户访问量的方法. 背景技术: 微信小程序,简称小程序,是一种不需要下载安装即可使用的应用,它实现了 ...
- 家用电脑设置成小程序服务器,电脑微信小程序设置全屏的方法是什么
电脑微信小程序设置全屏的方法是什么 方法:首先配置小程序resizeable的参数设置为true,这样操作可以在电脑端打开一个较大的横向窗口显示,屏幕大小是1024乘以768的,然后再按下全屏按钮,便 ...
- html制作炸金花,微信小程序怎么制作炸金花?微信小程序制作炸金花的方法
很多朋友喜欢玩炸金花游戏,那么怎么在微信小程序上制作炸金花呢?下面就是小编带来的完整详细的教程,想要学习的小伙伴就赶紧看过来吧. 微信小程序怎么制作炸金花?微信小程序制作炸金花的方法 app.json ...
- 微信小程序转二维码方法分享
微信小程序转二维码方法分享 需要转码的可以看看 这个东西是看个人需求的,618就要来了,各种活动也将来袭 有些小伙伴不知道怎么生成 为了方便小程序邀请活动没法外发,这里分享下将小程序转二维码的方法 首 ...
最新文章
- 什么?你还在使用fastjson,性能太差了
- img引Linux的绝对路径,什么是绝对路径和相对路径
- Java stackoverflowerror异常与outofmemoryerror异常区别
- 项望烽:移动IM开发那些事儿
- matlab 自动扫雷,MATLAB自动扫雷(2)——排雷插旗
- C# Lambda 和 匿名函数的GC总结
- linux运维和3dmax哪个简单,牛逼运维常用的工具系列-2
- 人生苦短,Python值得 这些Pandas隐藏小技巧你知道吗?
- VS C++/ClI调用C++ 外部Dll无法查看变量值
- 补习系列(3)-springboot中的几种scope
- 接口测试——接口测试流程
- python三元一次方程代码_求三元一次方程计算器代码
- 【深入浅出imx8企业级开发实战 | 01】imx8qxp yocto工程构建指南
- 创建oracle数据库实例
- 基于vue的UI框架ydui中的楼层跳跃scrolltab问题解决
- RCTF-2015-x_xor_md5
- 永远的道长——林正英
- Go Context 原理详解
- 分享几个搜索电子书网站
- 地铁三号线 - 95后的财务自由
热门文章
- vue使用video和vue-video-player并且可实现视频铺满呦
- 学生个人网页设计作品 HTML+CSS 简单个人主页成品 HTML学生个人网站作业设计
- c8051f310烧录_C8051F烧录器-C8051F系列烧录工具下载v1.0.0.1 官方最新版-西西软件下载...
- 视频转码编辑工具:Compressor for Mac(4.5.4)
- vue 中父子组件传递通信(看图就会了,皮卡皮卡)
- \t\t门萨智商测试 有些面试的公司喜欢玩这个
- 还在问视频音频转文字软件哪个好吗?快码住这两款
- 荣耀magic3参数配置
- 为什么要将数据序列化?
- 神经网络为什么要归一化?