对称加密 与 非对称加密 与 哈希算法
对称加密
: 加密和解密使用相同的密钥。
优点:加密简单,加密效率高。
缺点:安全性低。(如app被反编译拿到密钥,客户端与服务端的数据就不安全了)
场景:适合在后端服务接口调用时使用,不适合在对外暴露的客户端中使用。
算法:AES 、DES、3DES、Blowfish、IDEA、RC4、RC5、RC6
非对称加密
: 加密和解密使用两个不同的密钥(公钥、私钥)。用其中一个加密,另一个解密。
优点:安全性高。
缺点:加密复杂,加密效率低。
场景:适合使用在 APP 中,以及对安全性要求较高的支付、金融场景。
算法: RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
摘要算法
: 任意长度的输入通过散列算法变换成固定长度的输出。
优点:简单,不需密钥,较安全
缺点:不可逆。(很难从密文反推出明文)
场景:用户密码,文件校验
算法:MD5(128位)、SHA-1(160位)、SHA-2 (包含SHA-224、224位;SHA-256、256位;SHA-512、512位等)、MAC (融合MD和SHA并添加了密钥)
网友评论