ELFhash

4 bytes

#define MOD 0x7fffffff
int ELFhash(char*key)
{
    unsigned long h=0;
    while(*key) {
        h = (h << 4) + *key++;
        unsigned long g = h & 0xF0000000L;
        if(g) {
            h ^= g >> 24;
        }
        
        h &= ~g;
    }

    return (h % MOD);
}

 

posted @ 2021-06-10 14:22  sciapex  阅读(56)  评论(0编辑  收藏  举报