1.1 完整性保证

散列函数也叫HASH函数,主要任务是验证数据的完整性。通过散列函数计算得到的结果叫做散列值,这个散列值有时也被称为数据的指纹。常用散列算法有:MD5 SHA-1 SHA-2

1.1.1 散列函数的工作原理

  1. 对重要文件使用散列函数计算,得到“散列值一”
  2. 对接收的文件使用散列函数计算,得到“散列值二”
  3. 比较发现“散列值一”等于“散列值二”
  4. 由于散列值的唯一性(冲突避免),确定两个文件每个bit都相同

1.1.2 散列函数的特点

  1. 固定大小:可以接收任意大小的数据,输出固定的散列值。不管原始数据多大,通过MD5计算得到的散列值是128bit,SHA-1输出的长度是160bit。
  2. 雪崩效应:原始数据哪怕修改一个bit,散列值会发生巨大变化。
  3. 单向:只可能从原始数据计算得到散列值,不可能从散列值哪怕回复1bit的原始数据。
  4. 冲突避免(唯一性):几乎不可能找到另一个数据与当前数据计算的散列值相同。

results matching ""

    No results matching ""