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

   这篇文章主要介绍了PHP aes (ecb)解密后乱码问题的解决方法,十分的简单实用,有需要的小伙伴可以参考下。

  内容:abcd

  KEY:1234567890123456

  加密后base64:T7UT2NQ1AFvR9unjA0wKWA==

  ?

1
2
3
4
5
6
7

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);
}
}

  直接附上解决方案吧

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14

$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);
}

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

时间: 2024-11-08 21:06:57

PHP aes (ecb)解密后乱码问题的相关文章

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

内容: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_RIJ

golang实现AES ECB模式的加密和解密

最近有一个需求需要在golang中实现AES ECB模式的加密和解密,  看了一下官方文档和相关资料发现golang 官方包并没有完善的实现,于是自己尝试写了一个,本文中的AES算法是基于ECB模式,关于AES算法的几种模式原理大家可以去百度搜索一下,集中模式如下. 1. 电码本模式(Electronic Codebook Book (ECB))  2.密码分组链接模式(Cipher Block Chaining (CBC))  3.计算器模式(Counter (CTR))  4.密码反馈模式(

ios-IOS易宝充值接口AES/ECB/PKCS5Padding算法加密问题

问题描述 IOS易宝充值接口AES/ECB/PKCS5Padding算法加密问题 有谁做过易宝IOS充值接口?现在我出现的问题是加密了,易宝那边解析不了,有人能帮我解决下么?高分补偿!! 补充一下是128位的不是256的加密 解决方案 我要的是IOS的..不是安卓的.... 解决方案二: 这种充值的sdk肯定有测试的例子吧,你按照示例来加密吧.通常肯定不会在这里出问题的. 解决方案三: 易宝那边是没有SDKdemo的.他是页面的,,安卓那边没有问题,现在IOS加密后,易宝解析不了...求原因 解

AES加密解密&&SHA1、SHA加密&&MD5加密

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 AES加密解密 SHA1.SHA加密 MD5加密 二话不说马上附上代码: package com.luo.util; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.MessageDigest; import java.sec

用AES加解密,加密可以,解密却有错(错误描述如文章最后所示),不知如何解决?

问题描述 importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.security.InvalidKeyException;importjava.security.Key;importjava.security.NoSuchAlgorithmException;importjava.util.Iterator;importjava.util.Properties;i

文件操作-ASP.NET对称解密后Response文件流下载

问题描述 ASP.NET对称解密后Response文件流下载 一个AES对称加密压缩文件用AES解密后使用MemoryStream内存文件流存放后转换为byte[]字节流数组使用Response文件流输出方式输出.压缩文件打开的时候提示文件流出错,内容一样可以查看说明解密成功了.使用FileStream保存文件无任何异常. ` 解决方案 http://www.cnblogs.com/chaoa/archive/2012/03/09/2386106.html

android中AES加解密的使用方法_Android

今天在android项目中使用AES对数据进行加解密,遇到了很多问题,网上也找了很多资料,也不行.不过最后还是让我给搞出来了,这里把这个记录下来,不要让别人走我的弯路,因为网上绝大多数的例子都是行不通的.好了,接下来开始讲解 1.Aes工具类 package com.example.cheng.aesencrypt; import android.text.TextUtils; import java.security.NoSuchAlgorithmException; import java.

AES加解密在php接口请求过程中的应用示例_php实例

在php请求接口的时候,我们经常需要考虑的一个问题就是数据的安全性,因为数据传输过程中很有可能会被用fillder这样的抓包工具进行截获.一种比较好的解决方案就是在客户端请求发起之前先对要请求的数据进行加密,服务端api接收到请求数据后再对数据进行解密处理,返回结果给客户端的时候也对要返回的数据进行加密,客户端接收到返回数据的时候再解密.因此整个api请求过程中数据的安全性有了一定程度的提高. 今天结合一个简单的demo给大家分享一下AES加解密技术在php接口请求中的应用. 首先,准备一个AE

android中AES加解密的使用方法

今天在android项目中使用AES对数据进行加解密,遇到了很多问题,网上也找了很多资料,也不行.不过最后还是让我给搞出来了,这里把这个记录下来,不要让别人走我的弯路,因为网上绝大多数的例子都是行不通的.好了,接下来开始讲解 1.Aes工具类 package com.example.cheng.aesencrypt; import android.text.TextUtils; import java.security.NoSuchAlgorithmException; import java.