Fowler-Noll-Vo FNV1-32 ह्यास कोड क्याल्कुलेटर
प्रकाशित: २०२५ फेब्रुअरी १८: ००:१७:३८ UTC
पछिल्लो पटक अद्यावधिक गरिएको: २०२६ जनवरी १२: १३:२९:४१ UTC
Fowler-Noll-Vo FNV1-32 Hash Code Calculator
FNV-1 ३२-बिट ह्यास प्रकार्य फाउलर–नोल–भो (FNV) ह्यास प्रकार्यहरूको परिवारको भाग हो, जुन ह्यास मानहरूको राम्रो वितरण कायम राख्दै छिटो ह्यासिङको लागि डिजाइन गरिएको हो। यो सामान्यतया ह्यास तालिकाहरू, चेकसमहरू, र डेटा लुकअपहरू जस्ता अनुप्रयोगहरूमा प्रयोग गरिन्छ। यसले ३२ बिट (४ बाइट) ह्यास कोड उत्पादन गर्दछ, जुन प्रायः ८ अंकको हेक्साडेसिमल संख्याको रूपमा प्रतिनिधित्व गरिन्छ।
पूर्ण खुलासा: मैले यस पृष्ठमा प्रयोग गरिएको ह्यास प्रकार्यको विशिष्ट कार्यान्वयन लेखेको छैन। यो PHP प्रोग्रामिङ भाषासँग समावेश गरिएको एक मानक प्रकार्य हो। मैले सुविधाको लागि यहाँ सार्वजनिक रूपमा उपलब्ध गराउन वेब इन्टरफेस मात्र बनाएको छु।
Fowler-Noll-Vo FNV-1 ३२ बिट ह्यास एल्गोरिथ्मको बारेमा
म गणितज्ञ होइन, तर म यो ह्यास प्रकार्यलाई मेरा गैर-गणितज्ञहरूले बुझ्न सक्ने समानता प्रयोग गरेर व्याख्या गर्ने प्रयास गर्नेछु। यदि तपाईं वैज्ञानिक रूपमा सही, डरलाग्दो-गणितीय व्याख्या चाहनुहुन्छ भने, म पक्का छु कि तपाईंले त्यो अन्यत्र फेला पार्न सक्नुहुन्छ ;-)
पहिले, FNV-1 एल्गोरिथ्मलाई विशेष स्मूदी बनाउने रेसिपीको रूपमा सोचौं। तपाईंले थप्ने प्रत्येक सामग्री (जस्तै फलफूल, दूध, वा मह) ले डेटाको एक टुक्रा प्रतिनिधित्व गर्दछ - जस्तै अक्षरहरू, संख्याहरू, वा सम्पूर्ण फाइल।
अब, लक्ष्य भनेको यी सामग्रीहरूलाई एकदमै विशिष्ट तरिकाले मिसाउनु हो ताकि रेसिपीमा गरिएको सानो परिवर्तन (जस्तै एउटा अतिरिक्त ब्लुबेरी थप्दा) ले पनि स्मूदीको स्वाद पूर्ण रूपमा फरक बनोस्। यसरी ह्यास प्रकार्यहरूले काम गर्छन् - तिनीहरूले प्रत्येक अद्वितीय सामग्री सेट (वा इनपुट डेटा) को लागि एक अद्वितीय "स्वाद" (वा ह्यास मान) सिर्जना गर्छन्।
FNV-1 एल्गोरिथ्मले यो गर्ने तरिका बहु-चरणीय प्रक्रिया हो:
चरण १: आधार (अफसेट आधार) बाट सुरु गर्नुहोस्
यसलाई आफ्नो ब्लेंडरमा विशेष स्मूदी बेस खन्याउनु जस्तै सोच्नुहोस्। तपाईंले जुनसुकै सामग्री थपे पनि यो बेस सधैं उस्तै रहन्छ। FNV-1 मा, यसलाई "अफसेट बेसिस" भनिन्छ - केवल एक फेन्सी सुरुवाती संख्या।
चरण २: सामग्रीहरू एक-एक गरी थप्नुहोस् (डेटा प्रशोधन गर्दै)
अब तपाईंले आफ्ना सामग्रीहरू थप्न सुरु गर्नुहोस्, एक-एक गरी - मानौं स्ट्रबेरी, त्यसपछि केरा, त्यसपछि केही मह। यी प्रत्येकले डेटाको बाइट प्रतिनिधित्व गर्दछ।
चरण ३: गोप्य गुणक (FNV प्राइम) सँग मिश्रण गर्नुहोस्
प्रत्येक सामग्री थपेपछि, तपाईंले ब्लेन्ड बटन थिच्नुहुन्छ, तर यहाँ ट्विस्ट छ: ब्लेन्डरले FNV प्राइम भनिने गोप्य "जादुई संख्या" द्वारा सबै कुरा गुणा गर्छ। यसले चीजहरूलाई साँच्चै राम्रोसँग मिलाउन मद्दत गर्छ।
चरण ४: जादूको ड्यास थप्नुहोस् (XOR अपरेशन)
अर्को सामग्री थप्नु अघि, तपाईंले अलिकति जादुई धुलो छर्कनुहुन्छ (यो XOR अपरेशन हो)। यो अप्रत्याशित तरिकाले स्वादलाई उल्ट्याउनु जस्तै हो, साना परिवर्तनहरूले पनि ठूलो फरक पार्छ भन्ने कुरा सुनिश्चित गर्दै।
चरण ५: सम्पन्न नभएसम्म दोहोर्याउनुहोस्
तपाईंले सबै कुरा प्रशोधन नगरेसम्म प्रत्येक नयाँ सामग्री पछि मिश्रण र जादू छर्किरहनुहुन्छ।
चरण ६: अन्तिम स्मूदी (ह्यास मान)
जब तपाईंले काम सक्नुभयो, तपाईंले स्मूदी खन्याउनुहुन्छ। अन्तिम स्वाद (ह्यास मान) सामग्रीहरूको त्यो सटीक संयोजनको लागि अद्वितीय हुन्छ। यदि तपाईंले एउटा अतिरिक्त ब्लूबेरी पनि थप्नुभएको भए, यसको स्वाद पूर्ण रूपमा फरक हुने थियो।
यहाँ प्रस्तुत गरिएको संस्करण मूल FNV-1 ३२ बिट संस्करण हो। त्यहाँ सुधारिएको FNV-1a ३२ बिट संस्करण पनि उपलब्ध छ: लिङ्क
थप पढाइ
यदि तपाईंलाई यो पोस्ट मन पर्यो भने, तपाईंलाई यी सुझावहरू पनि मन पर्न सक्छन्:
- टाइगर-१६०/४ ह्यास कोड क्याल्कुलेटर
- Fowler-Noll-Vo FNV1a-64 ह्यास कोड क्याल्कुलेटर
- GOST CryptoPro ह्यास कोड क्याल्कुलेटर
