摘要算法(哈希算法)
- 加密过程不需要密码
- 输入任意长度的数据,输出固定长度的数据。
- 用于从任何一种数据中创建小的数字指纹用于验证数据完整性。
- 算法本身具有雪崩效应,即输入上微小的改变可以使输出产生剧变。
MD5 与 SHA
- MD5 输出128bit,应用中常用来存储对用户密码的加密。为防止彩虹表攻击,一般我们使用toMd5(password+salt),这样即使同样的密码计算出来的hash也是不一样的。
- SHA 安全哈希算法。 SHA256属于 SHA2 家族, 无论输入多长,都输出 64 个字符,共 32 byte,256bit(0-9,A~F,大小写敏感)。
- SHA 比 MD5 摘要长,安全性更高;运行速度比 MD5 慢。
非对称加密
- 非对称加密有公私钥之分,公钥可以公开传播,私钥只有拥有者持有,不可对外暴露。
- 通过私钥能还原出使用公钥加密过的内容,私钥也也可以用来签名,使用对应公钥解密。
证书
CA 证书认证机构,将公钥+拥有者信息+有效期等进行签名,制作成证。