【发布时间】:2016-05-11 04:27:31
【问题描述】:
public function decrypt($str, $key){
//AES, 256 ECB
$data = rtrim(
mcrypt_decrypt(
MCRYPT_RIJNDAEL_256,
$key,
base64_decode($str),
MCRYPT_MODE_ECB,
mcrypt_create_iv(
mcrypt_get_iv_size(
MCRYPT_RIJNDAEL_256,
MCRYPT_MODE_ECB
),
MCRYPT_RAND
)
), "\0"
);
return $data;
}
$str 来自 ios app 加密字符串,他使用的 charset 是 NSUTF8StringEncoding 并使用方法 AES-256-ECB-PKCS7Padding 和 base64 输出。
加密前
$str-> 42z7t5nzwvbk14gbemc9
$key-> gxssh2016
在ios APP中加密后
$str-> D2k5t33l+HD3snFTU+gNYlCH/DQ37WO6I6nUYbGTDKc
注意:我用AES在线工具解密这个字符串可以得到正确的结果:42z7t5nzwvbk14gbemc9
但是,使用我的函数解密这个 $str 输出:
x�Z����®(t�sڞ�<�^�q�P��`
如何在php中将其解密为42z7t5nzwvbk14gbemc9?
【问题讨论】:
-
可以添加iOS加密代码吗?
-
-
chosen-ciphertext attacks的标准评论>
标签: php ios encryption cryptography aes