【发布时间】:2016-10-20 02:32:39
【问题描述】:
我正在开发适用于 Android 和 IOS 的应用程序
对于 android,我使用“AES/CBC/NoPadding”密码,而对于 IOS,我使用具有与 Android 相同算法/模式/填充的 CommonCrypto
我正在使用公共密钥初始化密码,以便在两个平台上获得相同的结果
在 Android 中,我使用 cipher.update(inpBuf, inpOffset, inpLen, outBuf, outOffset) 进行加密/解密,就像我想在 IOS 中那样。
我在IOS中试过CCCryptorUpdate,结果数组是[0,0,0......0]
请指导我,哪里出错了?
【问题讨论】:
-
除非您要加密的数据总是是块大小(AES 为 16 字节)的倍数,否则您需要添加填充。这可以手动完成(不建议)或使用提供的填充选项,例如 PKCS#7(née PKCS#5)。
标签: java objective-c swift encryption commoncrypto