我使用aesEncryptWithStaticIV()从这里加密数据。
对于文本数据“测试”,函数给我加密的结果065TnFFNwQFRjPZk6l8luw==和PHP成功解密它。
但有了“真实”数据
例:"
progression|*|D4E1B270-06DD-4A|*|25|*|342|*|159|*|10|*|1457454939636.0“
php不能正确解密数据,请给我"m/^(_2<=Q9KBu#~<,s+z'sS)\\nrMc-o|PCxJNo/“
下面是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发送):
让我们试试吧!data.stringByAddingPercentEncodingForRFC3986()!.aesEncrypt()
我不明白为什么它只处理短/简单的数据?
发布于 2016-03-22 09:55:21
只需从php中删除urldecode(),就不明白为什么会腐蚀数据,但在视觉上没有区别.
https://stackoverflow.com/questions/36150567
复制相似问题