PHP aes (ecb)解密后乱码问题
内容:abcd
KEY:1234567890123456
加密后base64:T7UT2NQ1AFvR9unjA0wKWA==
functionapiDataDecrypt($data,$key=''){
$data=base64_decode($data);
$pad=16-(strlen($data)%16);
$padData=$data.str_repeat(chr($pad),$pad);
returnmcrypt_decrypt(MCRYPT_RIJNDAEL_128,$key,$padData,MCRYPT_MODE_ECB);
}
}
直接附上解决方案吧
$key='1234567890123456';
$content='T7UT2NQ1AFvR9unjA0wKWA==';
$desStr=decryptString($content,$key);
echo($desStr);
functiondecryptString($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]);
returnsubstr($str,0,strlen($str)-$pad);
}
以上所述就是本文的全部内容了,希望大家能够喜欢。
