解密从iOS收到的数据在大数据上失败 - PHP

时间:2016-03-22 09:28:10

标签: php encryption

我使用here的aesEncryptWithStaticIV()来加密数据。

对于文本数据" test",函数给我加密结果065TnFFNwQFRjPZk6l8luw== 并且PHP成功解密了它。

但是'真实'数据

  

例如:" progression|*|D4E1B270-06DD-4A|*|25|*|342|*|159|*|10|*|1457454939636.0"

php没有正确解密数据,给我&#34; m/^(_2<=Q9KBu#~<,s+z'sS)\\nrMc-o|PCxJNo/&#34;

这是php解密函数:

function decrypt($data) {
    $code = base64_decode ( urldecode ( $data ) );
    $iv = $this->iv;
    $td = mcrypt_module_open('rijndael-128', '', 'cbc', $iv);
    mcrypt_generic_init($td, $this->key, $iv);
    $decrypted = mdecrypt_generic($td, $code);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
    return trim(preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $decrypted));
}

和加密数据的程序(由http post发送):

  

让dump =试试! data.stringByAddingPercentEncodingForRFC3986()!aesEncrypt()

我不明白为什么它只使用短/简单数据?

1 个答案:

答案 0 :(得分:0)

只需从php中删除urldecode(),不明白为什么但它会破坏数据,但在视觉上没有差异......