6.3.3 加密

数据加密标准(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 加密过程包括创建加密上下文、处理消息、接收剩余的数据以及释放上下文, 有一个额外的步骤可能会在接收最终的输出以及释放上下文之间执行, 从而改进某些情况下的性能. 这个额外的步骤会重置上下文,  这样就可以处理额外的消息, 甚至在需要时更新初始化向量, 如果需要处理大量的消息, 那么可以考虑该方式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,869评论 18 139
  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 2,641评论 0 6
  • 概述 之前一直对加密相关的算法知之甚少,只知道类似DES、RSA等加密算法能对数据传输进行加密,且各种加密算法各有...
    Henryzhu阅读 3,048评论 0 14
  • 原文: http://mrpeak.cn/blog/encrypt/ 移动端App安全如果按CS结构来划分的话,主...
    vb12阅读 909评论 0 6
  • 1、控制情绪,在处理事情 三位师弟渡河,西游记里有一情节,渡河没有一位徒弟愿意陀唐僧,然后妖怪变成摆渡的骗他上船。...
    钱程浩瀚阅读 197评论 0 0