为了加强单向散列计算的安全性,还会给散列算法加点盐(salt), salt相当于加密的 密钥,增加破解的难度。
常用的单向散列算法有MD5、SHA等。单向散列算法还有一个特点就是输入的任何 微小变化都会导致输出的完全不同,这个特性有时也会被用来生成信息摘要、计算具有 高离散程度的随机数等用途。
2 对称加密
所谓对称加密是指加密和解密使用的密钥是同一个密钥(或者可以互相推算),如 图8.8所示。
对称加密通常用在信息需要安全交换或存储的场合,如Cookie加密、通信加密等。
对称加密的优点是算法简单,加解密效率高,系统开销小,适合对大量数据加密。 缺点是加解密使用同一个密钥,远程通信的情况下如何安全的交换密钥是个难题,如果 密钥丢失,那么所有的加密信息也就没有秘密可言了。
常用的对称加密算法有DES算发、RC算法等。对称加密是一种传统加密手段,也是 最常用的加密手段,适用于绝大多数需要加密的场合。
3 非对称加密
不同于对称加密,非对称加密和解密使用的密钥不是同一密钥,其中一个对外界公 开,被称作公钥,另一个只有所有者知道,被称作私钥。用公钥加密的信息必须用私钥 才能解开,反之,用私钥加密的信息只有用公钥才能解开,如图8.9所示。理论上