我正在尝试使用AES-Crypt-Objc在Xcode中解密它。我已经尝试了所有的东西..不同的libariers等等..
..任何事都出错,但我不知道是什么。帮助...
更新(另一种意见) 现在我试试这个:
function mc_encrypt($encrypt, $key = "12345678901234567890123456789012")
{
$encrypt = "Affe";
$iv2 = '';
for($i=0;$i<16;$i++){ $iv2 .= "\0"; }
$ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, ($encrypt), MCRYPT_MODE_CBC,$iv2);
$encode= base64_encode($ciphertext);
return $encode;
}
在Obj-C中我也使用相同的框架(现在仍然是IV)
......仍然无效......
和一些Objc-C代码: 注意:请求responseString是来自上面的字符串。
NSString *key = @"12345678901234561234567890123456";
NSLog(@"decrypted: %@",[AESCrypt decrypt:[request responseString] password:key]);
输出有时没什么,有时是null。
答案 0 :(得分:2)
对于大多数系统,加密应该是非确定性的 - 加密相同的明文两次应该几乎不会给出相同的密文。为什么?假设你在第0天午夜向你的同伙发送“黎明时的攻击”,攻击失败(但你没有受到伤害),并且在第1天的午夜,你再次发送“黎明时的攻击”......
除此之外,让我数一下方法:
mcrypt
如何处理超长密钥; ObjC代码在FixKeyLengths()
中添加了零填充。FWIW,我已经看到了那个(或类似的)ObjC代码到处都是。我不能不推荐它;它 真的 不适合一般用途。
只需使用HTTPS。