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); }
以上所述就是本文的全部内容了,希望大家能够喜欢。