全称 message-digest algorithm 5,翻译过来就是:信息-摘要-算法 5
一、特点
1. 长度固定
不管多长的字符串,加密后长度都是一样长 。
作用:方便平时信息的统计和管理。
2. 易计算
字符串和文件加密的过程是容易的。
作用:开发者很容易理解和做出加密工具。
3. 细微性
一个文件,不管多大,小到几k,大到几G,你只要改变里面某个字符,那么都会导致MD5值改变。
作用:很多软件和应用在网站提供下载资源,其中包含了对文件的MD5码;用户下载后只需要用工具测一下下载好的文件,通过对比就知道该文件是否有过更改变动。
4. 不可逆性
你明明知道密文和加密方式,你却无法反向计算出原密码 。
作用:基于这个特点,很多安全的加密方式都是用到,大大提高了数据的安全性。
二、后续讲解
关于撞库破解
这是概率极低的破解方法,原理就是:
1. 建立一个大型的数据库,把日常的各个语句,通过MD5加密成为密文,不断的积累大量的句子,放在一个庞大的数据库里。
2. 比如一个人拿到了别人的密文,想去查询真实的密码,就需要那这个密文去到提供这个数据库的公司网站去查询。
三、关于MD5加盐
比如我的银行密码是”12345”:
1. 得到的MD5是:827ccb0eea8a706c4c34a16891f84e7b。
2. 一个人截取到这个密文,那么通过撞库肯定容易撞出12345。
3. 我们要做的就是加盐,银行密码还是”12345”,然后我把银行密码加上我特定的字符串才计算MD5。所以密码还是那个密码,但是变成求”12345密码加密987”的MD5值,然后再得到MD5,那么这个MD5起码可以确认那个数据库不会有。