2012-10-05 26 views
0

我想使用我在网上找到的一些库(他们使用CommonCrypto)(下面的链接)来加密/解密文件,但所有库在ios6中都有相同的问题ios 5): 我把一个图像加密为例如“xx”作为密码,当我解密它时,我总是有一个真实的结果,并且输出一个不为零的数据,如果密码是“xx”,图像处于良好格式(我可以打开它),如果没有我不能,这只是在ios6。并且我听说ios 6在使用WPA2-AES加密密码时出现问题:ios6 wifi issue在ios 6问题上的AES加密/解密

这是一个已知的问题吗? 你能告诉我一种在ios6上做到这一点的方法吗?

链接,使用库: https://github.com/dev5tec/FBEncryptor https://github.com/AlanQuatermain/aqtoolkit/tree/master/CommonCrypto http://code.google.com/p/iphonebits/source/browse/trunk/src/Encryption/?r=2

回答

0

只要你不为密文认证/完整性保护,代码可能总是解密,即使密钥不正确。 AES分组加密是1:1,纯文本消息只有一个密文,而密文总是链接到一个纯文本消息。这意味着如果你提供了错误的密钥,解密将是一个与块大小相同的随机值。

使用HMAC,优选与其它键,签名消息或使用的加密经过身份验证的模式。

+0

谢谢你,我解决问题,我搜索HMAC,我发现https://github.com/rnapier/RNCryptor,这是LIB具有相同的问题(与iOS 6中),但“抢”从CTR开关CBC,因为ios6不支持它。 –

+0

不客气。使用'RNCryptor'似乎是个好主意。 Rob知道他在做什么。 –