12 lines
286 B
TypeScript
12 lines
286 B
TypeScript
function murmurHash36(str: string) {
|
|
let h = 0xdeadbeef;
|
|
for (let i = 0; i < str.length; i++) {
|
|
h = Math.imul(h ^ str.charCodeAt(i), 2654435761);
|
|
}
|
|
return (h >>> 0).toString(36).toUpperCase().slice(0, 6);
|
|
}
|
|
|
|
export function shortenUID(uid: string) {
|
|
return murmurHash36(uid);
|
|
}
|