iOS ——密码学

 

散列(哈希)函数加密

特点: 1.算法公开。

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

             3.得到的结果都是定长的。

MD5 用途:

            1. 密码(服务器不需要知道用户的真实密码, 数据库保存的是加密的数据)

            2.版权, 资源版权性验证。

            3.文件完整性校验(下载文件校验,上传(断点续传))

MD5加盐:盐是固定的,相当于存在本地的秘钥,后期升级维护不方便,也不安全。

HMAC: key 来自于服务器,一般在注册的时候由服务提供(授权或者直接返回)。但如果key被截获,也可以被模仿。那么可以(密码+key+时间)这样就具有时效性,相对于安全一点了。

 

AES 对称加密

1、ECB模式又称电子密码本模式(每个数据块独立加密):Electronic codebook,是最简单的块密码加密模式,加密前根据加密块大小(如AES为128位)分成若干块,之后将每块使用相同的密钥单独加密,解密同理。

2、密码分组链接(CBC,Cipher-block chaining)模式(每个数据块有连接),由IBM于1976年发明,每个明文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每个密文块都依赖于它前面的所有明文块。同时,为了保证每条消息的唯一性,在第一个块中需要使用初始化向量IV。

 

RSA 非对称加密

在iOS中使用RSA加密解密,需要用到.der.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于解密。见下图:

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章