Hash简介: 散列”,也有直接音译为”哈希”的,把任意长度的输入/预映射,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,不同的输入可能会散列成相同的输出,而散列值来唯一的确定输入不可能从值。(总结:把长数据映射成短数据)
主要作用:确定数据的准确性以及唯一性,可以通过hash后的值去验证数据是否被损坏或者修改。
hash工具下载:
这里为了方便小伙伴们实验,放了一个自己个人用过的hash工具。可以选择下载
「MD5校验计算工具Hash_1.0.4.exe」https://www.aliyundrive.com/s/UbRnfd4rkhj 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
使用:我们可以将制作一个word,然后在里面写一些内容,保存并hash,记录下本次的hash值。
对文字进行增加修改得到一个hash值,
再将文件修改回原来的样子,得到一个hash值
为了方便浏览,目前整理成一个表格。
可以看到即便文件已经修改回去了,得出的hash值也是会不一样了
那么通过hash,就可以很好的确认,文件在传输后,是否发生了改变。若发生了改变则hash值也会发生改变。这就是一个很好的文件唯一性确认工具。
那么MD5是什么呢?
在MD5之前,还有一个MD4(这个md4是基于32位操作系统的)
md5与md4的输出值的长度都是一样的
md5:加密算法之一,将字符串加密成一段代表性的代码。(目前还没有被逆推,最安全算法之一,比md4还要复杂一些,故加密时间会久一点)
SHA1 :基于md5的一种广泛运用的算法,建立在md5之上。
CRC:一种冗余校验机制,在数据帧进行传输时,会多发送4个字节的CRC报文,用这4个字节的报文去验证数据的可靠性。检验是否损坏。以及身份确认的一种手段。而数据包中CRC错误报文,也称之为CRC错包。