什么是摘要,为什么同样的文本得到同样的字符串
哈希函数把任意输入折叠成固定长度的摘要:MD5 是 32 个十六进制字符,对应 128 位;SHA-1 是 40 个字符,对应 160 位;SHA-256 是 64 个字符,对应 256 位。这个函数是确定性的,相同的字节永远得到相同的摘要,这才让哈希可以当作校验和使用;它同时是单向的,所以可以在不保留原文的前提下用它来比对内容。
它还刻意具备很强的雪崩效应:改动一个字符,甚至一个字节,摘要都会整体改变,而不是只在小范围内偏移。因此摘要完全一致,基本可以认定两份文件逐字相同;反过来,哈希也不适合用来保存结构化数据,因为从摘要没有任何回去的路。