DJB Hash Function,也称times33算法, php的实现与分析-算法

DJBX33A又叫Times33哈希算法的实现与分析
算法:对字符串的每个字符,迭代的乘以33,目的把字符串转换成整数

公式:   hash(i) = hash(i-1)*33 + str[i] ;

 

乘于33是为了减少碰撞重复,简单点理解就是1+2和2+1是一样的,那1*33+2和2*33+1就不一样了。
为什么要用33,因为33是一个素数,能更好的散列,PHP内置的Hash函数用的素数是5381
 

OK,那我们用php来试一下他的实现

 QQ:二一九二4238
*  转发请注明来源网址http://www.thinkunion.net
*  https://blog.csdn.net/weixin_43932088
*/
function hash0($str){
    $hash=0;
    for($i=0;$i

 

你可能感兴趣的:(算法,DJB,Hash,Function,times33算法,php的实现与分析)