三、加密算法
1、单向散列加密
名称:hash,散列算法,哈希算法
思想:消息摘要(Digest)
特点:单向不可逆(不能反向解密破解);摘要长度固定:碰撞少(输入差不多,加密结果相差很多);加盐(原文加入其它字符再进行加密)
算法实现:MD5,SHA
例子:
2、对称加密
加密/解密采用统一算法
优点:简单、高效、长密钥难破解
缺点:需要安全交换密钥(比较难做到)
实现:DES、AES
3、非对称加密
公钥/私钥
优点:无法还原明文
缺点:实现和管理复杂
实现:RSA
4、使用场景
单向散列加密:信息摘要、随机数
对称加密:通信加密
非对称加密:信息安全传输、数字签名
混合使用:使用非对称加密传输对称密钥;对称加密进行数据加解密
5、例子
数字签名
非对称加密+数字摘要
MD5withRSA、SHA1withRSA
有框架带有的数字签名功能直接可以使用,不需要自己实现