PHP - openssl_decrypt返回意外数据

时间:2017-02-24 07:43:00

标签: php php-openssl

Hellom我有一个奇怪而意外的openssl_decrypt行为

<?php
$method = 'aes256';
$pass = 'sdaf879dsa8f7sdaf87sadf87';
$iv = 'asds9d87fsadf987';
$toEncrypt = array(
    'data' => 'toEncrypt',
    'time' => time(),
);
$toEncrypt = json_encode($toEncrypt);
echo $toEncrypt . PHP_EOL;
$encrypted = openssl_encrypt($toEncrypt, $method, $pass, false, $iv);
$decrypted = openssl_decrypt($encrypted, $method, $pass, false, $iv);
echo $decrypted . PHP_EOL;

作为回报我得到了:

PHP5.6:

{"data":"toEncrypt","time":1487922033}
22033}":"toEncrypt","time":1487922033}

PHP7.0:

{"data":"toEncrypt","time":1487932229
{"data":"toEncrypt","time":1487932229}

在我看来,这两个字符串应该与PHP7中的相同:)

我正在使用带有php7.0的Ubuntu 16.10和从ondrej / php存储库安装的另外的php5.6。如果php切换到7.0一切正常,5.6会导致openssl_decrypt()出现问题。

任何想法伙计们?

0 个答案:

没有答案