1.首先关于hash:
原理:将任意长度的输入,通过hash算法转换成固定长度的输出,将原始数据映射成二进制的hash值。将输入空间的值映射到hash空间里面,而hash空间远小于输入空间,这时候有一个抽屉原理,一定会有不同的值被映射到相同的hash空间里面。
抽屉原理: 将10个苹果放到9个抽屉里面,无论怎么放,都会有一个抽屉有两个苹果。
特点:1.已知hash值,不可以反向推导出原始的数据;
2.哈希算法的执行效率高效,长的文本也可快速计算出hash值;
3. 数据有微小的变法,hash值千差万别。相同的数据hash值才会一样。
4.hash算法冲突概率小
理解:hash算法其实是一直加密算法,反向推导数据需要用到枚举法。冲突概率小,说明还是有冲突的,尽量避免冲突。
参考:https://www.bilibili.com/video/BV1LJ411W7dP?from=search&seid=11917207164412740551
https://www.bilibili.com/video/BV1cX4y1K7Tk?from=search&seid=7474284702773806899