php mcrypt_encrypt 后 json_decode结果为null
程序员文章站
2024-04-03 20:33:16
...
$key = '1234567890123456'; $iv = '1234567890123456'; $os = array( 'os' => php_uname('s'), 'time' => time(), ); $os = json_encode($os); $crypttext = base64_encode((mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $os, MCRYPT_MODE_CBC, $iv))); $crypttext = base64_decode($crypttext); $crypttext = (mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $crypttext, MCRYPT_MODE_CBC, $iv)); $crypttext = json_decode($crypttext); var_dump($crypttext);
求解
回复讨论(解决方案)
$key = '1234567890123456';$iv = '1234567890123456';$os = array( 'os' => php_uname('s'), 'time' => time(),);var_dump( $os = json_encode($os));$crypttext = base64_encode((mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $os, MCRYPT_MODE_CBC, $iv))); $crypttext = base64_decode($crypttext); var_dump( $crypttext = (mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $crypttext, MCRYPT_MODE_CBC, $iv)));echo bin2hex($crypttext), PHP_EOL;//尾部多了11个空字符$crypttext = json_decode(trim($crypttext));//删掉就对了var_dump($crypttext);
string(37) "{"os":"Windows NT","time":1428450826}"string(48) "{"os":"Windows NT","time":1428450826}"7b226f73223a2257696e646f7773204e54222c2274696d65223a313432383435303832367d0000000000000000000000object(stdClass)#1 (2) { ["os"]=> string(10) "Windows NT" ["time"]=> int(1428450826)}
原来也有解码这问题,看到跟原来不同了,一直不清楚原来是空格字符。。。
上一篇: PHP学习笔记(一) 简单了解PHP
下一篇: 这句话什么意思?劳驾详解
推荐阅读
-
php mcrypt_encrypt 后 json_decode结果为null
-
php中利用函数json_decode将json转化为数组,返回为null
-
json_decode($str,true)的结果为null
-
PHP 利用json_decode解析json为null问题解决
-
PHP JSON_DECODE/JSON_ENCODE中文内容为NULL或乱码
-
PHP JSON_DECODE/JSON_ENCODE中文内容为NULL或乱码
-
php中利用函数json_decode将json转化为数组,返回为null
-
php mcrypt_encrypt 后 json_decode结果为null,该如何处理
-
PHP JSON_DECODE/JSON_ENCODE中文内容为NULL或乱码_PHP教程
-
PHP中使用了mcrypt_decrypt函数处理Json串后导致Json_decode返回null问题