您好我正在使用BBAES来加密和解密我的代码。但是我在这一行中遇到了这样的错误。
encryptedData=[bb encryptedDataFromData:[bb dataFromString:_secret encoding:BBAESDataEncodingBase64] IV:[bb dataFromString:iv encoding:BBAESDataEncodingBase64] key:hashKeyData options:BBAESEncryptionOptionsIncludeIV];
我的错误是
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'AES must have a fixed IV size of 16-bytes regardless key size.'
这是我创建hashKeyData
hashKeyData=[bb keyByHashingPassword:_key keySize:BBAESSaltDefaultLength];
请帮帮我。 感谢
答案 0 :(得分:0)
您正在通过调用
将result = coll.aggregate(cursor, allowDiskUse=True)
字符串转换为iv数据
iv
这将为您提供多于或少于16个字节,具体取决于[bb dataFromString:iv encoding:BBAESDataEncodingBase64]
,这就是您获得异常的原因。
您应该使用的功能是iv
。这使用MD5哈希创建一个16字节的NSData实例。
IVFromString: