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