Use DJB2a hash algorithm in getHostHash()

This commit is contained in:
Jithin Jose 2020-12-18 10:12:54 -08:00
parent bd0755c95c
commit da67a81c8e

View File

@ -165,10 +165,10 @@ static void getHostName(char* hostname, int maxlen) {
#include <stdint.h>
static uint64_t getHostHash(const char* string) {
// Based on DJB2, result = result * 33 + char
// Based on DJB2a, result = result * 33 ^ char
uint64_t result = 5381;
for (int c = 0; string[c] != '\0'; c++){
result = ((result << 5) + result) + string[c];
result = ((result << 5) + result) ^ string[c];
}
return result;
}