鍍金池/ 問答/網(wǎng)絡(luò)安全/ ELFHash算法只會(huì)生成一個(gè)最多8位的數(shù)字是嗎?

ELFHash算法只會(huì)生成一個(gè)最多8位的數(shù)字是嗎?

不太了解hash算法,ELFHash算法每次都最多返回8位的數(shù)值是嗎?重復(fù)數(shù)字的概率大不大?
源碼:
long hash = 0;
long x = 0;
for(int i = 0; i < str.length(); i++){
hash = (hash << 4) + str.charAt(i);
if((x = hash & 0xF0000000L) != 0){

 hash ^= (x >> 24);
 hash &= ~x;

}
}
return (hash & 0x7FFFFFFF);

回答
編輯回答
故人嘆

返回的是個(gè)32位的整數(shù)。

2018年1月21日 03:57