欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-09 19:10:07
内容:abcd key:1234567890123456 加密后base64:t7ut2nq1afvr9unja0wkwa== function apidat...

内容: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);
}

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