lufei's Studio.

Swift 加密

字数统计: 447阅读时长: 1 min
2020/04/29 Share

简述

消息摘要算法

利用「散列函数」生成固定长度的 「散列值」,主要运用于确保信息传输的一致性。

使用比较广泛的消息摘要算法应该是「MD5」,「SHA-2」了。

MD5

SHA-2

对称加密算法

严格地说,消息摘要算法,不能算真正的「加密」,因为它不可逆,也就是说,只能「加密」,不能「解密」。

为了保护信息传输过程中的安全,于是对称加密算法就出现了,从名字能看出来,对称加密的「加密」和「解密」的过程使用的是相同的密钥。

对称加密算法中最著名的是「AES算法」。

AES

对称加密算法

非对称加密算法

这种算法需要两种密钥,一个公钥,一个私钥,公钥用作加密,私钥则用作解密,使用公钥把明文加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文,最初用来加密的公钥不能用作解密。

由于加密和解密需要两个不同的密钥,故被称为非对称加密。公钥可以公开,可任意向外发布,私钥不可以公开,必须由用户自行严格秘密保管,绝不透过任何途径向任何人提供,也不会透露给被信任的要通信的另一方。

「RSA算法」是非对称加密算法中运用最广的。

RSA

RSA 算法详解

Swift 中的加密

iOS13 之后,苹果推出了新的 Swift 安全加密框架 CryptoKit

新框架支持了很多其它现成可用的加解密算法,使用起来也比之前的 C Api 相比更加简洁。

WWDC2019:Cryptography and Your Apps

CATALOG
  1. 1. 简述
    1. 1.1. 消息摘要算法
    2. 1.2. 对称加密算法
    3. 1.3. 非对称加密算法
  2. 2. Swift 中的加密