ஃபௌலர்-நோல்-வோ FNV1-32 ஹாஷ் குறியீடு கால்குலேட்டர்
வெளியிடப்பட்டது: 18 பிப்ரவரி, 2025 அன்று AM 12:17:11 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: முடியும் வரை மீண்டும் செய்யவும்
நீங்கள் எல்லாவற்றையும் பதப்படுத்தும் வரை ஒவ்வொரு புதிய மூலப்பொருளுக்கும் பிறகும் கலக்கவும் மந்திரத்தைத் தெளிக்கவும் செய்கிறீர்கள்.
படி 6: இறுதி ஸ்மூத்தி (ஹாஷ் மதிப்பு)
நீங்கள் முடித்ததும், ஸ்மூத்தியை ஊற்றுவீர்கள். இறுதி சுவை (ஹாஷ் மதிப்பு) அந்த சரியான பொருட்களின் கலவைக்கு தனித்துவமானது. நீங்கள் ஒரு கூடுதல் புளூபெர்ரியைச் சேர்த்திருந்தால் கூட, அதன் சுவை முற்றிலும் மாறுபட்டதாக இருக்கும்.
இங்கே வழங்கப்பட்ட பதிப்பு அசல் FNV-1 32 பிட் பதிப்பாகும். மேம்படுத்தப்பட்ட FNV-1a 32 பிட் பதிப்பும் கிடைக்கிறது: ஃபௌலர்-நோல்-வோ FNV1a-32 ஹாஷ் குறியீடு கால்குலேட்டர்