代码改变世界

哈希,哈希表,哈希冲突和哈希函数

2022-11-25 12:00  杭伟  阅读(81)  评论(0编辑  收藏  举报

哈希是什么?

 

 

 

 哈希不等于加密。哈希不可逆,一般的加密函数是可逆的。

 

哈希表

数组使用下标(序号)和元素进行关系对应,通过数组下标可以直接找到内存地址;

哈希表使用哈希值和元素进行关系对应(key-value),对key进行哈希函数计算即可找到内存地址;

 

哈希冲突

解决

1,封闭寻址(拉链)

2,开放寻址

 平方探查:发生冲突的单元i,i+1^2,i+2^2,i+3^2直到找到空闲单元。

 

哈希函数

MD5-128bits

SHA-256bits

SHA-512bits

实际使用中一般需要加盐。