一个
散列函数,比如 MD5,是一个将任意长度的数据
字符串转化成短的固定长度的值的单向操作。任意两个字符串不应有相同的
散列值(即,有“很大可能”是不一样的,并且要人为地创造出来两个散列值相同的字符串应该是困难的)。
一个 MD5 校验和(checksum)通过对接收的传输数据执行散列运算来检查数据的正确性。计算出的散列值拿来和随
数据传输的散列值比较。如果两个值相同,说明传输的数据完整无误、没有被窜改过(前提是散列值没有被窜改),从而可以放心使用。
MD5校验可以应用多个领域,比如说机密资料的检验,下载文件的检验,
明文密码的加密等。
如客户往我们数据中心同步一个文件,该文件使用
MD5校验,那么客户在发送文件的同时会再发一个存有
校验码的文件,我们拿到该文件后做MD5运算,得到的计算结果与客户发送的校验码相比较,如果一致则认为客户发送的文件没有出错,否则认为文件出错需要重新发送。