对称加密
- 加密方和解密方使用相同的秘钥
- 常用的算法:
- DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
- 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
- AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高
- 特点:速度快,适合大数量级的加解密,安全性中等
- 问题:秘钥管理比较难
非对称加密
- 加密方和解密方使用不同的秘钥(每一端都拥有一对秘钥:公钥和私钥)
- 常用的算法:
- RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的
- DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准)
- ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学
- 特点:秘钥容易管理
- 问题:速度慢,适合小数据量或数据签名
单向加密(散列)
- 使用信息摘要,加密性强的散列是不可逆的,无法通过散列结果推导出原始信息。一般用于验证信息的完整性,是否被篡改。
- MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的密文。
- SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值