djb2 hash function c explained code example

Example 1: djb2 hash function c explained

// Djb2 hash function
unsigned long hash(char *str) 
{

        unsigned long hash = 5381;
        int c;
        while ((c = *str++))
            hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
        return hash % NUM_BUCKETS;

}

Example 2: djb2 algorithm for C

// Djb2 hash function - really good and implementable code
unsigned long hash(char *str) {

        unsigned long hash = 5381;
        int c;
        while ((c = *str++))
            hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
        return hash % NUM_BUCKETS;

}

Tags:

Misc Example