加密算法
哈希函数
哈希函数,或者叫散列函数,是一种将任何一种数据输出为固定长度数据(哈希值)的一种方法, 由于输出的数据通常要比输入的数据短得多,因此输出值又被叫做摘要。哈希函数有以下特点:
- 哈希函数是不可逆的,无法通过哈希值还原到原来的数据。
- 理想情况下,每个不同的输入数据都会输出不同的哈希值。
- 生成的哈希值长度固定。
根据上面的特点,我们可以用哈希函数来校验文件的完整性和唯一性,完整性用来判别文件是否经过篡改,唯一性的则可以用来做文件秒传断点续传等功能。
MD5
早期很多下载软件有一个校验文件MD5的按钮(没错,那是病毒肆虐的年代),用于校验文件的完整性,以避免你下载了什么盗版软件或者病毒,有些游戏软件安装包在下载时会损坏,同样也有md5校验来检验完整性。可见, MD5的应用其实时很广泛的。但MD5已经被证明不够安全,因此使用它可能导致数字签名被伪造,密码泄露等严重问题。 不过用来做数据