1. 概述
加密分为单向加密
和双向加密
-
单向加密:单向加密是不可逆加密,生成密文后无法根据密文得到原始内容。所以单向加密往往是为了验证内容的完整性和原始性,而不是为了安全性。例如MD5算法
-
双向加密:双向加密指生成密文后,可以解密为明文。通常应用于安全传输和权限申请。例如RSA算法.
1.1 双向加密简介
双向解密又大致分为对称加密
和非对称加密
对称加密
:加密和解密是使用的同一个密钥
,
非对称加密
:加密和解密使用的密钥不相同,加密使用私钥,解密使用公钥,必须配对使用。
1.1.1 对称加密
- 优点:对称加密和解密算法比较快,适合对大量数据进行加密。
- 缺点:由于加密和解密使用的密钥相同,容易破解,需要大量密钥对不同的消息进行加密和解密。
1.1.2 非对称加密
- 优点:公钥进行加密,私钥进行解密。或者使用私钥签名,使用公钥验签。安全性高,私钥和公钥分开保管,不用传输公钥和密钥.
- 缺点:非对称加密非常耗费性能,非常非常。
说到这里必须说一下公钥和私钥的作用:
公钥和私钥必须成对出现,两者都可用于加密,但必须使用对方解密。不同场景下使用不同。
- 公钥加密,私钥解密:保证密文传输,突出保密。
- 私钥加密,公钥解密:进行签名和验签,保证签名没有被修改过,突出真实。