加密 - 13337159127/Note GitHub Wiki

1.什么是加密 加密,是以某种特殊的算法改变原有的信息数据,使其成为不可读的一段代码,通常称为“密文”。使其只能在输入相应的密钥之后才能显示出本来内容, 2.加密算法分为两类? 根据密钥类型的不同,加密算法分为对称加密算法和非对称加密算法两类 3.对称加密和非对称加密 对称加密系统是指加密和解密均采用同一把密钥。 非对称加密则采取加密钥匙和解密钥匙不同的密钥。 4.常见的加密算法 Base64加密算法(严格的说,属于编码格式,而非加密算法) MD5加密算法(Message Digest algorithm 5,信息摘要算法) SHA1加密算法(Secure Hash Algorithm,安全散列算法) HMAC(Hash Message Authentication Code,散列消息鉴别码) DES加密算法:对称算法,数据加密标准,速度较快,适用于加密大量数据的场合 RSA加密算法:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法 5.几种加密算法的优劣 base64的优点:支持广泛,平台和语言支持都比较广泛,浏览器绝大多数都支持,直接可在前端编解码,base64后都是可见字符。 base64的缺点:他的编码方式注定会有三分之一的冗余 MD5的优点:压缩性 容易计算 抗修改性 弱抗碰撞 强抗碰撞 6.加密算法的应用场景 Base64加密算法:常见于邮件、http加密,截取http信息,你就会发现登录操作的用户名、密码字段通过BASE64加密的。 MD5加密算法:MD5校验加密一般运用场景:用户密码,请求参数,文件校验。 7.BASE64编码算法不算是真正的加密算法。 8.MD5、SHA、HMAC这三种加密算法,是不可解密的加密方法,我们称之为单向加密算法。 9.双向加密就是原始数据通过加密以后给别人,然后别人能解密从而获得原始的信息。双向加密一般用于数据的传输和通信。 10.单向加密就是原始数据被加密处理了以后,任何人都没法解密获得原始输入的加密。单向加密主要用于用户密码保存到数据库中。