Miklix

Fowler-Noll-Vo FNV1-32 ह्यास कोड क्याल्कुलेटर

प्रकाशित: २०२५ फेब्रुअरी १८: ००:१७:३८ UTC
पछिल्लो पटक अद्यावधिक गरिएको: २०२६ जनवरी १२: १३:२९:४१ UTC

ह्यास कोड क्याल्कुलेटर जसले पाठ इनपुट वा फाइल अपलोडको आधारमा ह्यास कोड गणना गर्न Fowler-Noll-Vo 1 32 बिट (FNV1-32) ह्यास प्रकार्य प्रयोग गर्दछ।

यो पृष्ठलाई सकेसम्म धेरै मानिसहरूको पहुँचयोग्य बनाउनको लागि अंग्रेजीबाट मेसिन अनुवाद गरिएको थियो। दुर्भाग्यवश, मेसिन अनुवाद अझै पूर्ण प्रविधि होइन, त्यसैले त्रुटिहरू हुन सक्छन्। यदि तपाईं चाहनुहुन्छ भने, तपाईं यहाँ मूल अंग्रेजी संस्करण हेर्न सक्नुहुन्छ:

Fowler-Noll-Vo FNV1-32 Hash Code Calculator

FNV-1 ३२-बिट ह्यास प्रकार्य फाउलर–नोल–भो (FNV) ह्यास प्रकार्यहरूको परिवारको भाग हो, जुन ह्यास मानहरूको राम्रो वितरण कायम राख्दै छिटो ह्यासिङको लागि डिजाइन गरिएको हो। यो सामान्यतया ह्यास तालिकाहरू, चेकसमहरू, र डेटा लुकअपहरू जस्ता अनुप्रयोगहरूमा प्रयोग गरिन्छ। यसले ३२ बिट (४ बाइट) ह्यास कोड उत्पादन गर्दछ, जुन प्रायः ८ अंकको हेक्साडेसिमल संख्याको रूपमा प्रतिनिधित्व गरिन्छ।

पूर्ण खुलासा: मैले यस पृष्ठमा प्रयोग गरिएको ह्यास प्रकार्यको विशिष्ट कार्यान्वयन लेखेको छैन। यो PHP प्रोग्रामिङ भाषासँग समावेश गरिएको एक मानक प्रकार्य हो। मैले सुविधाको लागि यहाँ सार्वजनिक रूपमा उपलब्ध गराउन वेब इन्टरफेस मात्र बनाएको छु।


नयाँ ह्यास कोड गणना गर्नुहोस्

यस फारम मार्फत पेश गरिएको डेटा वा अपलोड गरिएका फाइलहरू अनुरोध गरिएको ह्यास कोड उत्पन्न गर्न जति समय लाग्छ त्यति समयको लागि मात्र सर्भरमा राखिनेछ। परिणाम तपाईंको ब्राउजरमा फिर्ता आउनु अघि नै यो तुरुन्तै मेटाइनेछ।

इनपुट डेटा:



पेश गरिएको पाठ UTF-8 एन्कोड गरिएको छ। ह्यास प्रकार्यहरू बाइनरी डेटामा काम गर्ने भएकाले, परिणाम पाठ अर्को एन्कोडिङमा भएको भन्दा फरक हुनेछ। यदि तपाईंलाई कुनै विशेष एन्कोडिङमा पाठको ह्यास गणना गर्न आवश्यक छ भने, तपाईंले यसको सट्टा फाइल अपलोड गर्नुपर्छ।



Fowler-Noll-Vo FNV-1 ३२ बिट ह्यास एल्गोरिथ्मको बारेमा

म गणितज्ञ होइन, तर म यो ह्यास प्रकार्यलाई मेरा गैर-गणितज्ञहरूले बुझ्न सक्ने समानता प्रयोग गरेर व्याख्या गर्ने प्रयास गर्नेछु। यदि तपाईं वैज्ञानिक रूपमा सही, डरलाग्दो-गणितीय व्याख्या चाहनुहुन्छ भने, म पक्का छु कि तपाईंले त्यो अन्यत्र फेला पार्न सक्नुहुन्छ ;-)

पहिले, FNV-1 एल्गोरिथ्मलाई विशेष स्मूदी बनाउने रेसिपीको रूपमा सोचौं। तपाईंले थप्ने प्रत्येक सामग्री (जस्तै फलफूल, दूध, वा मह) ले डेटाको एक टुक्रा प्रतिनिधित्व गर्दछ - जस्तै अक्षरहरू, संख्याहरू, वा सम्पूर्ण फाइल।

अब, लक्ष्य भनेको यी सामग्रीहरूलाई एकदमै विशिष्ट तरिकाले मिसाउनु हो ताकि रेसिपीमा गरिएको सानो परिवर्तन (जस्तै एउटा अतिरिक्त ब्लुबेरी थप्दा) ले पनि स्मूदीको स्वाद पूर्ण रूपमा फरक बनोस्। यसरी ह्यास प्रकार्यहरूले काम गर्छन् - तिनीहरूले प्रत्येक अद्वितीय सामग्री सेट (वा इनपुट डेटा) को लागि एक अद्वितीय "स्वाद" (वा ह्यास मान) सिर्जना गर्छन्।

FNV-1 एल्गोरिथ्मले यो गर्ने तरिका बहु-चरणीय प्रक्रिया हो:

चरण १: आधार (अफसेट आधार) बाट सुरु गर्नुहोस्

यसलाई आफ्नो ब्लेंडरमा विशेष स्मूदी बेस खन्याउनु जस्तै सोच्नुहोस्। तपाईंले जुनसुकै सामग्री थपे पनि यो बेस सधैं उस्तै रहन्छ। FNV-1 मा, यसलाई "अफसेट बेसिस" भनिन्छ - केवल एक फेन्सी सुरुवाती संख्या।

चरण २: सामग्रीहरू एक-एक गरी थप्नुहोस् (डेटा प्रशोधन गर्दै)

अब तपाईंले आफ्ना सामग्रीहरू थप्न सुरु गर्नुहोस्, एक-एक गरी - मानौं स्ट्रबेरी, त्यसपछि केरा, त्यसपछि केही मह। यी प्रत्येकले डेटाको बाइट प्रतिनिधित्व गर्दछ।

चरण ३: गोप्य गुणक (FNV प्राइम) सँग मिश्रण गर्नुहोस्

प्रत्येक सामग्री थपेपछि, तपाईंले ब्लेन्ड बटन थिच्नुहुन्छ, तर यहाँ ट्विस्ट छ: ब्लेन्डरले FNV प्राइम भनिने गोप्य "जादुई संख्या" द्वारा सबै कुरा गुणा गर्छ। यसले चीजहरूलाई साँच्चै राम्रोसँग मिलाउन मद्दत गर्छ।

चरण ४: जादूको ड्यास थप्नुहोस् (XOR अपरेशन)

अर्को सामग्री थप्नु अघि, तपाईंले अलिकति जादुई धुलो छर्कनुहुन्छ (यो XOR अपरेशन हो)। यो अप्रत्याशित तरिकाले स्वादलाई उल्ट्याउनु जस्तै हो, साना परिवर्तनहरूले पनि ठूलो फरक पार्छ भन्ने कुरा सुनिश्चित गर्दै।

चरण ५: सम्पन्न नभएसम्म दोहोर्याउनुहोस्

तपाईंले सबै कुरा प्रशोधन नगरेसम्म प्रत्येक नयाँ सामग्री पछि मिश्रण र जादू छर्किरहनुहुन्छ।

चरण ६: अन्तिम स्मूदी (ह्यास मान)

जब तपाईंले काम सक्नुभयो, तपाईंले स्मूदी खन्याउनुहुन्छ। अन्तिम स्वाद (ह्यास मान) सामग्रीहरूको त्यो सटीक संयोजनको लागि अद्वितीय हुन्छ। यदि तपाईंले एउटा अतिरिक्त ब्लूबेरी पनि थप्नुभएको भए, यसको स्वाद पूर्ण रूपमा फरक हुने थियो।

यहाँ प्रस्तुत गरिएको संस्करण मूल FNV-1 ३२ बिट संस्करण हो। त्यहाँ सुधारिएको FNV-1a ३२ बिट संस्करण पनि उपलब्ध छ: लिङ्क

थप पढाइ

यदि तपाईंलाई यो पोस्ट मन पर्यो भने, तपाईंलाई यी सुझावहरू पनि मन पर्न सक्छन्:


ब्लुस्कीमा सेयर गर्नुहोस्फेसबुक मा शेयर गर्नुहोस्लिंक्डइनमा सेयर गर्नुहोस्Tumblr मा सेयर गर्नुहोस्X मा सेयर गर्नुहोस्लिंक्डइनमा सेयर गर्नुहोस्Pinterest मा पिन गर्नुहोस्

मिकेल क्रिस्टेनसेन

लेखकको बारेमा

मिकेल क्रिस्टेनसेन
मिकेल miklix.com का निर्माता र मालिक हुन्। उनीसँग एक पेशेवर कम्प्युटर प्रोग्रामर/सफ्टवेयर विकासकर्ताको रूपमा २० वर्ष भन्दा बढीको अनुभव छ र हाल उनी एक ठूलो युरोपेली आईटी निगममा पूर्ण-समय कार्यरत छन्। ब्लगिङ नगर्दा, उनी आफ्नो खाली समय विभिन्न रुचि, शौक र गतिविधिहरूमा बिताउँछन्, जुन केही हदसम्म यस वेबसाइटमा समेटिएका विषयहरूको विविधतामा प्रतिबिम्बित हुन सक्छ।