ફાઉલર-નોલ-વો FNV1-32 હેશ કોડ કેલ્ક્યુલેટર
પ્રકાશિત: 18 ફેબ્રુઆરી, 2025 એ 12:17:27 AM UTC વાગ્યે
હેશ કોડ કેલ્ક્યુલેટર જે ટેક્સ્ટ ઇનપુટ અથવા ફાઇલ અપલોડના આધારે હેશ કોડની ગણતરી કરવા માટે ફોલર-નોલ-વો 1 32 બીટ (FNV1-32) હેશ ફંક્શનનો ઉપયોગ કરે છે.Fowler-Noll-Vo FNV1-32 Hash Code Calculator
FNV-1 32-બીટ હેશ ફંક્શન એ ફાઉલર-નોલ-વો (FNV) હેશ ફંક્શન પરિવારનો એક ભાગ છે, જે હેશ મૂલ્યોના સારા વિતરણને જાળવી રાખીને ઝડપી હેશિંગ માટે રચાયેલ છે. તેનો ઉપયોગ સામાન્ય રીતે હેશ ટેબલ, ચેકસમ અને ડેટા લુકઅપ જેવા એપ્લિકેશનોમાં થાય છે. તે 32 બીટ (4 બાઇટ) હેશ કોડ ઉત્પન્ન કરે છે, જે ઘણીવાર 8 અંકના હેક્સાડેસિમલ નંબર તરીકે રજૂ થાય છે.
સંપૂર્ણ ખુલાસો: મેં આ પૃષ્ઠ પર ઉપયોગમાં લેવાતા હેશ ફંક્શનના ચોક્કસ અમલીકરણ વિશે લખ્યું નથી. તે PHP પ્રોગ્રામિંગ ભાષામાં સમાવિષ્ટ એક માનક ફંક્શન છે. મેં ફક્ત સુવિધા માટે અહીં જાહેરમાં ઉપલબ્ધ કરાવવા માટે વેબ ઇન્ટરફેસ બનાવ્યું છે.
ફાઉલર-નોલ-વો FNV-1 32 બીટ હેશ અલ્ગોરિધમ વિશે
હું ગણિતશાસ્ત્રી નથી, પણ હું આ હેશ ફંક્શનને મારા સાથી બિન-ગણિતશાસ્ત્રીઓ સમજી શકે તેવી સામ્યતાનો ઉપયોગ કરીને સમજાવવાનો પ્રયાસ કરીશ. જો તમને વૈજ્ઞાનિક રીતે સાચી, ડરામણી-ગણિત સમજૂતી ગમે છે, તો મને ખાતરી છે કે તમને તે બીજે ક્યાંય મળશે ;-)
સૌપ્રથમ, ચાલો FNV-1 અલ્ગોરિધમનો વિચાર કરીએ જે એક ખાસ સ્મૂધી બનાવવાની રેસીપી જેવું છે. તમે જે પણ ઘટક ઉમેરો છો (જેમ કે ફળો, દૂધ અથવા મધ) તે ડેટાનો એક ભાગ રજૂ કરે છે - જેમ કે અક્ષરો, સંખ્યાઓ, અથવા તો આખી ફાઇલ.
હવે, ધ્યેય એ છે કે આ ઘટકોને ખૂબ જ ચોક્કસ રીતે મિશ્રિત કરવામાં આવે જેથી રેસીપીમાં નાનામાં નાના ફેરફાર (જેમ કે એક વધારાનું બ્લુબેરી ઉમેરવાથી) પણ સ્મૂધીનો સ્વાદ સંપૂર્ણપણે અલગ થઈ જાય. આ રીતે હેશ ફંક્શન્સ કાર્ય કરે છે - તેઓ ઘટકોના દરેક અનન્ય સમૂહ (અથવા ઇનપુટ ડેટા) માટે એક અનન્ય "સ્વાદ" (અથવા હેશ મૂલ્ય) બનાવે છે.
FNV-1 અલ્ગોરિધમ આ જે રીતે કરે છે તે એક બહુ-પગલાની પ્રક્રિયા છે:
પગલું 1: બેઝ (ઓફસેટ બેઝિસ) થી શરૂઆત કરો
આને તમારા બ્લેન્ડરમાં ખાસ સ્મૂધી બેઝ રેડવા જેવું વિચારો. આ બેઝ હંમેશા એકસરખો રહે છે, પછી ભલે તમે ગમે તે ઘટકો ઉમેરો. FNV-1 માં, આને "ઓફસેટ બેઝિસ" કહેવામાં આવે છે - ફક્ત એક ફેન્સી શરૂઆતનો નંબર.
પગલું 2: એક પછી એક ઘટકો ઉમેરો (ડેટા પ્રોસેસિંગ)
હવે તમે તમારા ઘટકો ઉમેરવાનું શરૂ કરો, એક સમયે એક - ચાલો કહીએ કે એક સ્ટ્રોબેરી, પછી એક કેળું, પછી થોડું મધ. આ દરેક ડેટાનો બાઈટ દર્શાવે છે.
પગલું 3: સિક્રેટ મલ્ટિપ્લાયર (FNV પ્રાઇમ) સાથે બ્લેન્ડ કરો
દરેક ઘટક ઉમેર્યા પછી, તમે બ્લેન્ડ બટન દબાવો છો, પરંતુ અહીં ટ્વિસ્ટ છે: બ્લેન્ડર દરેક વસ્તુને FNV પ્રાઇમ નામના ગુપ્ત "જાદુઈ નંબર" દ્વારા ગુણાકાર કરે છે. આ વસ્તુઓને ખરેખર સારી રીતે મિશ્રિત કરવામાં મદદ કરે છે.
પગલું 4: જાદુનો ડૅશ ઉમેરો (XOR ઓપરેશન)
આગલો ઘટક ઉમેરતા પહેલા, તમે થોડી જાદુઈ ધૂળ છાંટો (આ XOR ઓપરેશન છે). તે અણધારી રીતે સ્વાદને ઉલટાવી દેવા જેવું છે, ખાતરી કરો કે નાના ફેરફારો પણ મોટો ફરક લાવે છે.
પગલું 5: પૂર્ણ થાય ત્યાં સુધી પુનરાવર્તન કરો
જ્યાં સુધી તમે બધું પ્રોસેસ ન કરી લો ત્યાં સુધી તમે દરેક નવા ઘટક પછી જાદુ ભેળવતા અને છંટકાવતા રહો છો.
પગલું ૬: અંતિમ સ્મૂધી (હેશ વેલ્યુ)
જ્યારે તમે પૂર્ણ કરી લો, ત્યારે તમે સ્મૂધી રેડો. અંતિમ સ્વાદ (હેશ મૂલ્ય) ઘટકોના ચોક્કસ મિશ્રણ માટે અનન્ય છે. જો તમે એક વધારાનું બ્લુબેરી પણ ઉમેર્યું હોત, તો તેનો સ્વાદ સંપૂર્ણપણે અલગ હોત.
અહીં પ્રસ્તુત સંસ્કરણ મૂળ FNV-1 32 બીટ સંસ્કરણ છે. એક સુધારેલ FNV-1a 32 બીટ સંસ્કરણ પણ ઉપલબ્ધ છે: ફાઉલર-નોલ-વો FNV1a-32 હેશ કોડ કેલ્ક્યુલેટર