IOS密码学总论

在我们的app当中,为了数据的安全,有时需要对数据进行加密,iOS中常见的加密算法主要有:base64加密,MD5加密,对称加密,非对称加密。今天我们来探讨一下iOS中常见的加密算法。

网络开发中中的原则:

1:在网络上不允许传输用户的明文隐私数据。

2:在本地不允许保存用户的明文隐私数据。

3:用户的密码是不可逾越的红线。

iOS中加密算法的分类:

iOS中的加密主要分为三大类:对称加密、非对称加密、线性散列算法

1.对称加密:(可逆)

什么是对称加密?

信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行 加解密了。

对称加密算法主要有DES,3DES,AES(高级密码标准,美国国家安全局使用的,iOS系统使用的加密方式(例如:钥匙串))


2.非对称加密:(可逆)

什么是非对称加密

发送双方A,B事先均生成一对密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消息,则先需要用B的公有密匙进行消息加密,然后发送给B端,此时B端再用自己的私有密匙进行消息解密,B向A发送消息时为同样的道理。

非对称加密算法主要有:RSA,DSA,ECC


3.线性散列算法:(不可逆)

什么是线形散列算法?

只生成一串不可逆的密文,经常用其效验数据传输过程中是否经过修改,因为相同的生成算法对于同一明文只会生成唯一的密文,若相同算法生成的密文不同,则证明传输数据进行过了修改。

特点:

算法公开的

 对相同的数据加密,得到的结果是一样的。

 对不同的数据加密,得到的结果是定长的。md5对不同的数据进行加密,得到的结果都是32个字符。

不能反算的

线性散列算法主要有:

MD5,SHA,HMAC  

下面我将在密码学分讲中分别讲解各个算法的原理及其使用方法。

你可能感兴趣的:(IOS密码学总论)