ഫൗളർ-നോൾ-വോ FNV1-64 ഹാഷ് കോഡ് കാൽക്കുലേറ്റർ
പ്രസിദ്ധീകരിച്ചത്: 2025, ഫെബ്രുവരി 17 9:36:39 PM UTC
ടെക്സ്റ്റ് ഇൻപുട്ട് അല്ലെങ്കിൽ ഫയൽ അപ്ലോഡ് അടിസ്ഥാനമാക്കി ഒരു ഹാഷ് കോഡ് കണക്കാക്കാൻ Fowler-Noll-Vo 1 64 ബിറ്റ് (FNV1-64) ഹാഷ് ഫംഗ്ഷൻ ഉപയോഗിക്കുന്ന ഹാഷ് കോഡ് കാൽക്കുലേറ്റർ.Fowler-Noll-Vo FNV1-64 Hash Code Calculator
FNV-1 64-ബിറ്റ് ഹാഷ് ഫംഗ്ഷൻ, ഹാഷ് മൂല്യങ്ങളുടെ നല്ല വിതരണം നിലനിർത്തിക്കൊണ്ട് വേഗത്തിലുള്ള ഹാഷിംഗിനായി രൂപകൽപ്പന ചെയ്തിരിക്കുന്ന, ഫൗളർ–നോൾ–വോ (FNV) ഹാഷ് ഫംഗ്ഷനുകളുടെ കുടുംബത്തിന്റെ ഭാഗമാണ്. ഹാഷ് ടേബിളുകൾ, ചെക്ക്സം, ഡാറ്റ ലുക്കപ്പുകൾ തുടങ്ങിയ ആപ്ലിക്കേഷനുകളിൽ ഇത് സാധാരണയായി ഉപയോഗിക്കുന്നു. ഇത് 64 ബിറ്റ് (8 ബൈറ്റ്) ഹാഷ് കോഡ് ഉത്പാദിപ്പിക്കുന്നു, പലപ്പോഴും 16 അക്ക ഹെക്സാഡെസിമൽ സംഖ്യയായി പ്രതിനിധീകരിക്കുന്നു.
പൂർണ്ണ വെളിപ്പെടുത്തൽ: ഈ പേജിൽ ഉപയോഗിച്ചിരിക്കുന്ന ഹാഷ് ഫംഗ്ഷന്റെ നിർദ്ദിഷ്ട നടപ്പാക്കൽ ഞാൻ എഴുതിയിട്ടില്ല. ഇത് PHP പ്രോഗ്രാമിംഗ് ഭാഷയിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന ഒരു സ്റ്റാൻഡേർഡ് ഫംഗ്ഷനാണ്. സൗകര്യാർത്ഥം ഇവിടെ പൊതുവായി ലഭ്യമാക്കാൻ വേണ്ടി മാത്രമാണ് ഞാൻ വെബ് ഇന്റർഫേസ് നിർമ്മിച്ചത്.
ഫൗളർ-നോൾ-വോ FNV-1 64 ബിറ്റ് ഹാഷ് അൽഗോരിതത്തെക്കുറിച്ച്
ഞാൻ ഒരു ഗണിതശാസ്ത്രജ്ഞനല്ല, പക്ഷേ എന്റെ സഹ ഗണിതശാസ്ത്രജ്ഞർ അല്ലാത്തവർക്ക് മനസ്സിലാകുന്ന ഒരു സാമ്യം ഉപയോഗിച്ച് ഈ ഹാഷ് ഫംഗ്ഷൻ വിശദീകരിക്കാൻ ഞാൻ ശ്രമിക്കാം. ശാസ്ത്രീയമായി ശരിയായതും ഭയപ്പെടുത്തുന്നതുമായ ഒരു ഗണിത വിശദീകരണമാണ് നിങ്ങൾ ഇഷ്ടപ്പെടുന്നതെങ്കിൽ, നിങ്ങൾക്ക് അത് മറ്റെവിടെയെങ്കിലും കണ്ടെത്താൻ കഴിയുമെന്ന് എനിക്ക് ഉറപ്പുണ്ട് ;-)
ആദ്യം, ഒരു പ്രത്യേക സ്മൂത്തി ഉണ്ടാക്കുന്നതിനുള്ള ഒരു പാചകക്കുറിപ്പ് പോലെ FNV-1 അൽഗോരിതം നമുക്ക് ചിന്തിക്കാം. നിങ്ങൾ ചേർക്കുന്ന ഓരോ ചേരുവയും (പഴങ്ങൾ, പാൽ അല്ലെങ്കിൽ തേൻ പോലുള്ളവ) ഒരു ഡാറ്റയെ പ്രതിനിധീകരിക്കുന്നു - അക്ഷരങ്ങൾ, അക്കങ്ങൾ, അല്ലെങ്കിൽ ഒരു മുഴുവൻ ഫയൽ പോലും.
ഇനി, ഈ ചേരുവകൾ വളരെ പ്രത്യേക രീതിയിൽ മിക്സ് ചെയ്യുക എന്നതാണ് ലക്ഷ്യം, അങ്ങനെ പാചകക്കുറിപ്പിലെ ഏറ്റവും ചെറിയ മാറ്റം പോലും (ഒരു അധിക ബ്ലൂബെറി ചേർക്കുന്നത് പോലെ) സ്മൂത്തിയുടെ രുചി പൂർണ്ണമായും വ്യത്യസ്തമാക്കുന്നു. ഹാഷ് ഫംഗ്ഷനുകൾ പ്രവർത്തിക്കുന്നത് അങ്ങനെയാണ് - അവ ഓരോ അദ്വിതീയ ചേരുവകൾക്കും (അല്ലെങ്കിൽ ഇൻപുട്ട് ഡാറ്റ) ഒരു അദ്വിതീയ "ഫ്ലേവർ" (അല്ലെങ്കിൽ ഹാഷ് മൂല്യം) സൃഷ്ടിക്കുന്നു.
FNV-1 അൽഗോരിതം ഇത് ചെയ്യുന്ന രീതി ഒരു മൾട്ടി-സ്റ്റെപ്പ് പ്രക്രിയയാണ്:
ഘട്ടം 1: ഒരു ബേസിൽ നിന്ന് ആരംഭിക്കുക (ഓഫ്സെറ്റ് ബേസിസ്)
നിങ്ങളുടെ ബ്ലെൻഡറിലേക്ക് ഒരു പ്രത്യേക സ്മൂത്തി ബേസ് ഒഴിക്കുന്നത് പോലെയാണ് ഇതിനെ കുറിച്ച് ചിന്തിക്കുക. നിങ്ങൾ എന്ത് ചേരുവകൾ ചേർത്താലും ഈ ബേസ് എല്ലായ്പ്പോഴും ഒരുപോലെയാണ്. FNV-1-ൽ, ഇതിനെ "ഓഫ്സെറ്റ് ബേസ്" എന്ന് വിളിക്കുന്നു - ഒരു ഫാൻസി സ്റ്റാർട്ടിംഗ് നമ്പർ മാത്രം.
ഘട്ടം 2: ചേരുവകൾ ഓരോന്നായി ചേർക്കുക (പ്രോസസ്സിംഗ് ഡാറ്റ)
ഇനി നിങ്ങൾ ചേരുവകൾ ഓരോന്നായി ചേർക്കാൻ തുടങ്ങുന്നു - ഒരു സ്ട്രോബെറി, പിന്നെ ഒരു വാഴപ്പഴം, പിന്നെ കുറച്ച് തേൻ എന്ന് പറയാം. ഇവ ഓരോന്നും ഒരു ബൈറ്റ് ഡാറ്റയെ പ്രതിനിധീകരിക്കുന്നു.
ഘട്ടം 3: ഒരു സീക്രട്ട് മൾട്ടിപ്ലയർ (എഫ്എൻവി പ്രൈം) ഉപയോഗിച്ച് ബ്ലെൻഡ് ചെയ്യുക
ഓരോ ചേരുവയും ചേർത്തതിനുശേഷം, നിങ്ങൾ ബ്ലെൻഡ് ബട്ടൺ അമർത്തുക, പക്ഷേ ഇതാ ട്വിസ്റ്റ്: ബ്ലെൻഡർ എല്ലാം FNV പ്രൈം എന്ന രഹസ്യ "മാജിക് നമ്പർ" കൊണ്ട് ഗുണിക്കുന്നു. ഇത് കാര്യങ്ങൾ നന്നായി കലർത്താൻ സഹായിക്കുന്നു.
ഘട്ടം 4: ഒരു ഡാഷ് ഓഫ് മാജിക് ചേർക്കുക (XOR ഓപ്പറേഷൻ)
അടുത്ത ചേരുവ ചേർക്കുന്നതിനു മുമ്പ്, അല്പം മാന്ത്രിക പൊടി വിതറുക (ഇതാണ് XOR പ്രവർത്തനം). ചെറിയ മാറ്റങ്ങൾ പോലും വലിയ മാറ്റമുണ്ടാക്കുന്നുവെന്ന് ഉറപ്പാക്കിക്കൊണ്ട്, അപ്രതീക്ഷിതമായ രീതിയിൽ രുചി മാറ്റുന്നത് പോലെയാണിത്.
ഘട്ടം 5: പൂർത്തിയാകുന്നതുവരെ ആവർത്തിക്കുക
ഓരോ പുതിയ ചേരുവയ്ക്കും ശേഷം എല്ലാം പ്രോസസ്സ് ചെയ്യുന്നത് വരെ നിങ്ങൾ മാജിക് മിക്സ് ചെയ്യുകയും തളിക്കുകയും ചെയ്തുകൊണ്ടിരിക്കും.
ഘട്ടം 6: ഫൈനൽ സ്മൂത്തി (ഹാഷ് മൂല്യം)
കഴിച്ചു കഴിയുമ്പോൾ, സ്മൂത്തി ഒഴിക്കുക. അവസാനത്തെ രുചി (ഹാഷ് മൂല്യം) ആ ചേരുവകളുടെ കൃത്യമായ സംയോജനത്തിന് മാത്രമുള്ളതാണ്. ഒരു ബ്ലൂബെറി എങ്കിലും അധികമായി ചേർത്തിരുന്നെങ്കിൽ, അതിന്റെ രുചി തികച്ചും വ്യത്യസ്തമാകുമായിരുന്നു.
ഇവിടെ അവതരിപ്പിച്ചിരിക്കുന്ന പതിപ്പ് യഥാർത്ഥ FNV-1 64 ബിറ്റ് പതിപ്പാണ്. മെച്ചപ്പെടുത്തിയ ഒരു FNV-1a 64 ബിറ്റ് പതിപ്പും ലഭ്യമാണ്: ഫൗളർ-നോൾ-വോ FNV1a-64 ഹാഷ് കോഡ് കാൽക്കുലേറ്റർ