加密算法
对称加密
A(原文) ---> 加密算法(秘钥) ---> m(密文) ---> 加密算法(秘钥) ---> B(解密后的文件)
代表:DES AES
优: 加密速度快,适合大量数据加密
缺: 不安全
非对称加密
A(原文) ---> 加密算法(公钥) ---> m(密文) ---> 加密算法(私钥) ---> B(解密后的文件)
特点
- 加密的秘钥和解密的秘钥是一对,而且是不同的
- 加密用的秘钥(公钥)加密,必须用秘钥(私钥)解密
优: 即使加密的公钥和密文都被泄露,也无法解密
缺: 加密速度相对较慢,不适合大量数据加密
代表: RSA
用途:比如github配置登录认证
原理: 基于两个大质数计算乘机很容易,但是反过来分解大叔质数因数非常困难,从而得到公钥和私钥,RSA秘钥生成大数长度是2048位
破解: 量子计算机
离散加密/指纹加密/不可逆算法
A(原文) ---> 加密算法 ---> m(密文) ---> 不能解密
特点
- 加密过程不需要秘钥,有固定的加密算法
- 加密的原文不按管多大,结果是固定长度
- 加密的原文哪怕只变动一点儿,结果都完全不同
优: 对敏感数据加密,不怕密文泄露
缺: 无法还原数据(需要)
代表算法: MD5 sha1 sha256
用途: 登录密码加密验证,数字货币(比特币)区块链