Advertisement
rgruber

fnv1a

Mar 29th, 2025
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function fnv1a(str) {
  2.     let hash = 2166136261n; // FNV offset basis
  3.     const prime = 16777619n; // FNV prime
  4.    
  5.     for (let i = 0; i < str.length; i++) {
  6.         hash ^= BigInt(str.charCodeAt(i));
  7.         hash *= prime;
  8.     }
  9.    
  10.     // Convert to 32-bit unsigned integer
  11.     return Number(hash & 0xffffffffn);
  12. }
  13.  
  14. // Usage
  15. const text = "FNV-1a (Fowler-Noll-Vo) Hash";
  16.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement