加密算法分类
- 信息摘要算法
将任意长度的消息变成固定长度的消息摘要,具有不可逆性,其中MD5、SHA-1广泛运用在各种文件校验场景中。
常用的有:
1、MD5
2、SHA
3、HMAC - 对称加密算法
通过密钥可将密文完整还原为明文。优点:加密解密速度快。不足:需要加密解密双方共享密钥。
常用的有:
1、DES
2、3DES
3、AES
4、PBE - 非对称加密算法
分为私钥、公钥,私钥加密、公钥解密或者公钥加密、私钥解密。优点:发送方只需使用接收方的公钥加密数据即可,而公钥是公开的,不存在密钥泄露的问题。缺点:加密解密速度较慢,不适用于数据量大的场景。
常用的有:
1、DH
2、RSA
3、ECC - 数字签名
具有防伪造性、不可抵赖性,可保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。
常用的有:
1、RSA
2、DSA
3、ECDSA
鉴权场景
- 使用信息摘要算法,加密用户密码进行存储,防止密码明文存储。
- 鉴权时,使用相应的摘要算法与数据库中存储的密文进行比对,确认是否鉴权成功。
数据存储场景
针对敏感数据,需要加密后存储:
- 配置文件中的敏感数据,如数据库连接用户名密码。
- 机密数据存储,如用户密码
数据传输场景
针对机密数据,必须加密后进行传输:
- 请求数据,如交易请求
- 信令数据