CPlay/djb2.c
2025-06-17 21:48:07 +02:00

22 lines
333 B
C

#include <stdio.h>
unsigned long djb2(const char *str) {
unsigned long h = 5381;
int c;
while ((c = *str++)) {
h = ((h << 5) + h) + c;
// Essentially equal to:
// h = h * 33 + c;
}
return h;
}
int main(void) {
char *a = "ABC";
printf("Hash: %ld\n", djb2(a));
return 0;
}