statsig_rust/hashing/
djb2.rs

1#[must_use]
2pub fn djb2(input: &str) -> String {
3    let mut hash: i64 = 0;
4
5    for c in input.chars() {
6        hash = ((hash << 5).wrapping_sub(hash)).wrapping_add(c as i64);
7    }
8
9    // Convert to unsigned 32-bit integer
10    hash &= 0xFFFF_FFFF;
11
12    hash.to_string()
13}