iOS开发加密

iOS开发过程中涉及到的需要加密的有三个部分:

  • 本地数据
  • 网络通讯
  • 源代码

最近有个给本地数据加密的需求,这里记录一下。
先明确两个概念,md5和base64。网上搜索一下,有很多关于md5加密,base64加密的文章。其实严格来说它们都不是加密算法。md5是一种消息摘要算法,用于确保信息传输完整一致,md5就相当于文件的指纹,可以为任何文件(不管大小、格式、数量)产生一个同样独一无二的“指纹”。base64只能算是一个编码算法,对数据内容进行编码来适合传输。虽然base64编码过后原文也变成不能看到的字符格式,但是其不需要秘钥,很容易解码。
下面记录了一下本地数据加密,网络通讯和源代码加密以后再补上。

本地数据加密:

iOS开发中客户端时常会将一些简单地用户信息、配置信息存储在本地。如果全部明文存储的话,难免会有安全问题。
例如一个地图的配置信息,在不加密的情况下,很容易被修改作弊。不过这种配置文件可以只使用md5校验,即明文存储配置文件,并将其md5值写死在代码中。每次代码读取文件后进行一次md5校验,若文件被修改,则校验不成功。这样虽然配置文件明文存储,但一经修改就不能使用。
md5的方式毕竟只是校验,如果存储的是用户密码等,仅仅是校验就不能满足需求了。所以必须加密,这里有一个封装好的第三方库,可以尝试使用https://github.com/Gurpartap/AESCrypt-ObjC

网络通讯加密

源代码加密

你可能感兴趣的:(iOS开发加密)