PHP aes (ecb)解密后乱码问题


Posted in PHP onJune 22, 2015

内容:abcd
KEY:1234567890123456
加密后base64:T7UT2NQ1AFvR9unjA0wKWA==

function apiDataDecrypt($data, $key='') {
  $data = base64_decode($data);
  $pad = 16 - (strlen($data) % 16);
  $padData = $data . str_repeat(chr($pad), $pad);
  return mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key,$padData, MCRYPT_MODE_ECB);
}    
}

直接附上解决方案吧

$key = '1234567890123456';
$content = 'T7UT2NQ1AFvR9unjA0wKWA==';
$desStr = decryptString($content,$key);
echo($desStr);

function decryptString($str,$key) {
  $str = base64_decode($str);
  $str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $str, MCRYPT_MODE_ECB);  
  $block = mcrypt_get_block_size('rijndael_128', 'ecb');
  $pad = ord($str[($len = strlen($str)) - 1]);
  $len = strlen($str);
  $pad = ord($str[$len-1]);  
  return substr($str, 0, strlen($str) - $pad);
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
php Ajax乱码
Apr 09 PHP
php将时间差转换为字符串提示
Sep 07 PHP
FireFox浏览器使用Javascript上传大文件
Oct 30 PHP
php smarty模板引擎的6个小技巧
Apr 24 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
May 15 PHP
使用PHP Socket 编程模拟Http post和get请求
Nov 25 PHP
php微信公众平台开发之获取用户基本信息
Aug 17 PHP
php遍历解析xml字符串的方法
May 05 PHP
thinkphp 验证码 的使用小结
May 07 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
PHP扩展类型及安装方式解析
Apr 27 PHP
php实现对象克隆的方法
Jun 20 #PHP
php判断对象是派生自哪个类的方法
Jun 20 #PHP
php类的扩展和继承用法实例
Jun 20 #PHP
php传值赋值和传地址赋值用法实例分析
Jun 20 #PHP
php多重接口的实现方法
Jun 20 #PHP
php单一接口的实现方法
Jun 20 #PHP
php文件读取方法实例分析
Jun 20 #PHP
You might like
php中数据的批量导入(csv文件)
2006/10/09 PHP
PHP如何编写易读的代码
2007/07/10 PHP
PHP 文件类型判断代码
2009/03/13 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
JS获取html对象的几种方式介绍
2013/12/05 Javascript
JQuery实现绚丽的横向下拉菜单
2013/12/19 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
js实现下一页页码效果
2017/03/07 Javascript
详解angularJS自定义指令间的相互交互
2017/07/05 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
numpy.where() 用法详解
2019/05/27 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
纯css3实现效果超级炫的checkbox复选框和radio单选框
2014/09/01 HTML / CSS
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
Eclipse面试题
2014/03/22 面试题
实习生自荐信范文
2013/11/13 职场文书
单位租房协议书样本
2014/10/30 职场文书
工人先进事迹材料
2014/12/26 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
Python3.8官网文档之类的基础语法阅读
2021/09/04 Python
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫
单机多实例部署 MySQL8.0.20
2022/05/15 MySQL