数据加密标准(Data Encrytion Standard, DES)
Triple-DES : DES 更为安全的变体
使用两个 56 位的密钥, 第一个密钥用于加密数据,第二个密钥用于加密第一次加密的结果,然后又使用第一个密钥对结果进行加密,执行 3 次独立的加密过程是资源密集型的,因此 Triple-DES 并不适合于移动设备的加密
高级加密标准(Advanced Encryption Standard, AES)
AES 在设计时考虑的是速度、强度和对资源更为高效的利用, 这使得它非常适合于移动设备. 只需要一个步骤就能加密数据, 并且提供了 256 艾字节(2560 亿吉字节) 的上限, 这个上限指的是算法对一条消息加密的容量限制. AES 的另一好处是从 iOS 4.3 开始, 超过 1024 字节的消息可以被硬件加速(对于 SHA-1 摘要计算来说, 超过 4096 字节的消息会应用硬件加速). 考虑到当前设备的限制, 在 iOS 中使用 AES 比较合适
CommonCryptor(一个 C 函数库) : 对数据进行加解密, 支持多种加密算法
CommonCryptor 支持的加密算法执行无状态的加解密操作
完整的 iOS 加密过程包括创建加密上下文、处理消息、接收剩余的数据以及释放上下文, 有一个额外的步骤可能会在接收最终的输出以及释放上下文之间执行, 从而改进某些情况下的性能. 这个额外的步骤会重置上下文, 这样就可以处理额外的消息, 甚至在需要时更新初始化向量, 如果需要处理大量的消息, 那么可以考虑该方式
网友评论