File size: 310 Bytes
dbb1bf9
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
export function hashString(input: string): string {
  let h = 0xcbf29ce484222325n;
  const FNV_PRIME = 0x100000001b3n;
  const MASK_52 = (1n << 52n) - 1n;
  for (let i = 0; i < input.length; i++) {
    h ^= BigInt(input.charCodeAt(i));
    h = (h * FNV_PRIME) & MASK_52;
  }
  return Number(h).toString(36);
}