Cryptographic Hash Functions(加密哈希函数)
Hash函数可以接受任何字符串(任意大小)作为输入,产生固定大小(256)的输出。
性质:
-
collision resistance(抗碰撞) / collision-free(无碰撞)
没有人可以找到 x 和 y 的值,x !=y 但是 H(x)=H(y)。
输入空间是无限大的,输入内容可以是任意字符串,输出必须是256位的字符串。若输入空间中的每一点映射到输出空间上,必然存在很多输入值有相同输出。(碰撞是存在的,但人为制造碰撞的可能性是无限小的)
目前没有哪个Hash函数被证明是collision-free的(无法理论证明),只是人们没有成功找到碰撞。所以我们选择相信是collision-free。
应用:message digest
上传文件,记录H&