到底什么是哈希值,哈希值到底是怎么生成的,有什么用?

哈希值,即HASH值,通常用一个短的随机字母和数位组成的字串来代表,是一组任意长度的输入信息通过哈希算法得到的“数据指纹”,即进行加密运算得到的一组二进制值。因为电脑在底层机器码是采用二进位的模式,因此通过哈希算法得到的任意长度的二进位值映像为较短的固定长度的二进位值,即哈希值。哈希值主要用途是用于文件校验或签名。

可以把哈希值简单地理解成是一段数据(某个文件,或者是字符串)的DNA,或者身份证

通过一定的哈希算法(典型的有MD5,SHA-1等),将一段较长的数据映射为较短小的数据,这段小数据就是大数据的哈希值。他有这样一个特点,他是唯一的,一旦大数据发生了变化,哪怕是一个微小的变化,他的哈希值也会发生变化。另外一方面,既然是DNA,那就保证了没有两个数据的哈希值是完全相同的。

此外,哈希值是一段数据唯一且极其紧凑的数值表示形式,如果通过哈希一段明文得到哈希值,哪怕只更改该段明文。正是因为这样的特点,它常常用来判断两个文件是否相同。比如,从网络上下载某个文件,只要把这个文件原来的哈希值同下载后得到的文件的哈希值进行对比,如果相同,则表示两个文件完全一致,下载过程没有损坏文件。而如果不一致,则表明下载得到的文件跟原来的文件不同,文件在下载过程中受到了损坏。

博主的小声BB:我是在参加嘉立创的 泰山派训练营 的时候接触到到了使用hash值检测文件是否损坏的方法,就对其原理产生了好奇,简单搜索了一下哈希值的相关信息,所以本文只是大概介绍了一下hash值的用法,不足之处还望指正。

你可能感兴趣的:(哈希算法,linux,哈希值用法,泰山派,嘉立创)