优化系列 08:加密
Published:
13 Aug 2017
Category:
优化
加密原因
- 单向加密算法
- 特点:
1、 对同一消息反复执行加密得到相同的密文。
2、加密算法生成的密文不可预见,和明文没任何关系。
3、 明文的任何微小的变化都会对密文产生很大影响。
4、不可逆,即不能通过密文获取明文。
比较流行的加密算法:MD5和SHA1。MD5与SHA1都是Hash算法,两个相比。MD5输出是128位的,SHA1输出是160位的,MD5比SHA1快,SHA1比MD5强度高。
- 对称式加密算法
- 对称加密算法的特点是:
- 使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,要求解密方事先必须知道加密密钥。
- 它的优点是:算法公开、计算量小、加密速度快、加密效率高。
- 缺点是:双方都使用同样钥匙,安全性得不到保证。每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。
常见的对称加密算法有:DES、3DES、AES等。
- 非对称式加密算法
- 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
- 公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。简单的说是“公钥加密,私钥解密;私钥加密,公钥解密”。
- 常见的非对称加密算法有:RSA。值得一提的是,RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。