ရုပ်ပုံ- FNV-1 32-Bit Hash Algorithm – အမြင်အာရုံခြုံငုံသုံးသပ်ချက်
ထုတ်ဝေသည်- ၂၀၂၆၊ ဇန်နဝါရီ ၁၂ UTC ၁၃:၂၉:၄၃
နောက်ဆုံး မွမ်းမံပြင်ဆင်သည်- ၂၀၂၆၊ ဇန်နဝါရီ ၉ UTC ၂၁:၄၁:၂၃
FNV-1 32-bit hash algorithm ၏ အဓိကအဆင့်များကို ရှင်းပြထားသော ရှင်းလင်းသော landscape flowchart၊ input bytes များမှ နောက်ဆုံး hash ရလဒ်အထိ။
FNV-1 32-Bit Hash Algorithm – Visual Overview

ဤပုံ၏ ရရှိနိုင်သော ဗားရှင်းများ
အောက်တွင် ဒေါင်းလုဒ်လုပ်နိုင်သော ရုပ်ပုံဖိုင်များသည် ဤဝက်ဘ်ဆိုက်ရှိ ဆောင်းပါးများနှင့် စာမျက်နှာများတွင် ထည့်သွင်းထားသော ရုပ်ပုံများထက် ချုံ့မှုနည်းပြီး ရုပ်ထွက်အရည်အသွေးမြင့်မားသည် - ထို့ကြောင့် အရည်အသွေးမြင့်မားပြီး bandwidth သုံးစွဲမှုကို လျှော့ချရန်အတွက် ဖိုင်အရွယ်အစားအတွက် ပိုမိုသင့်တော်အောင် ပြုလုပ်ထားသည်။
ပုံမှန်အရွယ်အစား (1,536 x 1,024)
အရွယ်အစားကြီး (3,072 x 2,048)
အရွယ်အစား အလွန်ကြီးမား (4,608 x 3,072)
အရွယ်အစား အလွန်ကြီး (6,144 x 4,096)
ရယ်စရာကောင်းလောက်အောင် အရွယ်အစားကြီးမား (1,048,576 x 699,051)
- တင်နေတုန်းပဲ... ;-)
ပုံဖော်ပြချက်
ပုံသည် "FNV-1 32-Bit Hash Algorithm" ဟု အမည်ပေးထားသော ကျယ်ပြန့်သော ရှုခင်းဒီဇိုင်း infographic တစ်ခုဖြစ်ပြီး အပေါ်ဘက်တွင် ကြီးမားသော မှောင်မိုက်သော စာသားများဖြင့် ပြသထားသည်။ အလုံးစုံပုံစံသည် သန့်ရှင်းသပ်ရပ်ပြီး ပြားချပ်ချပ်နှင့် သင်ကြားရေးဆန်ပြီး ကြည့်ရှုသူကို ဘယ်မှညာသို့ လမ်းညွှန်ရန် လုံးဝန်းသော စတုဂံများ၊ စက်ဝိုင်းများနှင့် မြှားများကို အသုံးပြုထားသည်။ နောက်ခံသည် အဖြူရောင်ဖြစ်သောကြောင့် ပုံကြမ်းသည် သင်ကြားရေးအတွက် သင့်လျော်သော ပေါ့ပါးပြီး ရှင်းလင်းသော အသွင်အပြင်ကို ပေးစွမ်းသည်။
ဘယ်ဘက်အစွန်ဆုံးတွင် "Input Data" ဟု အမည်ပေးထားသော အပြာရောင်ဝိုင်းစက်သော ထောင့်မှန်စတုဂံတစ်ခုရှိသည်။ ဤအကွက်အောက်တွင် ဒေတာ၏ ဘိုက်တစ်ခုချင်းစီကို ကိုယ်စားပြုသည့် ရောင်စုံဘလောက်များ၏ အလျားလိုက်အတန်းငယ်လေးတစ်ခုရှိသည်။ ဤ input box မှ ပုံ၏အလယ်ဗဟိုသို့ မြှားတိုတစ်ခု ဦးတည်နေပြီး hashing လုပ်ငန်းစဉ်စတင်ခြင်းကို ညွှန်ပြသည်။
နောက်တစ်ခုကတော့ "Offset Basis" လို့ အမည်ပေးထားတဲ့ အဝါရောင်ဝိုင်းစက်တဲ့ ထောင့်မှန်စတုဂံပုံဖြစ်ပြီး အောက်မှာ "32-Bit Value" လို့ ရေးထားတဲ့ စာတန်းငယ်တစ်ခု ပါရှိပါတယ်။ ဒီအကွက်က input byte တွေကို မလုပ်ဆောင်ခင် algorithm က အသုံးပြုတဲ့ internal state ကို ကိုယ်စားပြုပါတယ်။ input data က မြှားက ဒီ offset basis box ထဲကို ညွှန်ပြနေပြီး algorithm ဟာ ဒီကြိုတင်သတ်မှတ်ထားတဲ့ စတင်တန်ဖိုးနဲ့ စတင်တယ်ဆိုတာကို ပြသနေပါတယ်။
offset အခြေခံမှစတင်၍ စီးဆင်းမှုသည် "XOR" ဟု အမည်ပေးထားသော လိမ္မော်ရောင်စက်ဝိုင်း node ထဲသို့ ဆက်လက်ဝင်ရောက်သွားသည်။ ဤစက်ဝိုင်းအောက်တွင် "Input Byte" အဖြစ် မှတ်ချက်ပြုထားသော ရောင်စုံ byte icon ငယ်တစ်စုံ ရှိနေပြီး မူရင်းဒေတာမှ byte တစ်ခုစီကို bitwise XOR လုပ်ဆောင်ချက်ကို အသုံးပြု၍ လက်ရှိ hash state နှင့် ပေါင်းစပ်ထားကြောင်း အလေးပေးဖော်ပြသည်။ ရုပ်ပုံက ဤ XOR အဆင့်ကို byte တိုင်းအတွက် ထပ်ခါတလဲလဲ လုပ်ဆောင်ကြောင်း ညွှန်ပြသည်။
XOR အဆင့်ပြီးနောက်၊ မြှောက်ခြင်းသင်္ကေတဖြင့်မှတ်သားထားသော အပြာရောင်စက်ဝိုင်း node တစ်ခုကို မြှားတစ်ခုက ညွှန်ပြနေပြီး၊ flow အထက်ရှိ "Multiply by FNV Prime" ဟု သဘောတရားအရ အမည်တပ်ထားသည်။ ၎င်းသည် algorithm သည် bits များကို ပိုမိုရောနှောရန်နှင့် hash တစ်လျှောက်တွင် ပြောင်းလဲမှုများကို ပျံ့နှံ့စေရန်အတွက် အလယ်အလတ်တန်ဖိုးကို ပုံသေ prime number ဖြင့် မြှောက်ကြောင်း ဖော်ပြသည်။
မြှောက်ခြင်းစက်ဝိုင်း၏ ညာဘက်တွင် "32-Bit Hash Result" ဟု အမည်ပေးထားသော အစိမ်းရောင်ဝိုင်းစတုဂံတစ်ခုရှိသည်။ ၎င်းသည် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော bytes များကို စီမံဆောင်ရွက်ပြီးနောက် ပြောင်းလဲနေသော hash တန်ဖိုးနှင့် နောက်ဆုံးတွင် input data အားလုံးသုံးစွဲပြီးသည်နှင့် algorithm မှထုတ်လုပ်သော နောက်ဆုံး 32-bit hash ကို ကိုယ်စားပြုသည်။
လေးထောင့်ကွက်များနှင့် စက်ဝိုင်းများ၏ အဓိကအတန်းအထက်တွင် အောက်သို့မြှားငယ်များပါသည့် ပါးလွှာသော အလျားလိုက်မျဉ်းတစ်ကြောင်းတွင် "Start with Offset Basis," "XOR with Byte," "Multiply by FNV Prime," နှင့် "32-Bit Hash Value" ကဲ့သို့သော စာသားများ ပါဝင်သည်။ ဤစာတန်းများသည် အယ်လဂိုရီသမ်၏ အဆင့်များကို ရိုးရှင်းသောဘာသာစကားဖြင့် အကျဉ်းချုပ်ဖော်ပြသည့် အဆင့်ဆင့်လမ်းညွှန်အဖြစ် ဆောင်ရွက်သည်။
ပုံ၏အောက်ခြေတစ်လျှောက်တွင် "Repeat for Each Byte of Data" စာသားပါ မြှားရှည်တစ်ခုသည် ဘယ်မှညာသို့ ရွေ့လျားနေသည်။ ၎င်းက XOR နှင့် မြှောက်ခြင်းအဆင့်များသည် တစ်ခုတည်းသောလုပ်ဆောင်ချက်မဟုတ်ဘဲ အဝင်အစီအစဉ်ရှိ ဘိုက်တိုင်းအတွက် ကွင်းဆက်တစ်ခုကို ဖွဲ့စည်းကြောင်း ရှင်းလင်းစေသည်။
အလုံးစုံသော်၊ ပုံကြမ်းသည် သတ်မှတ်ထားသော ဂဏန်းကိန်းသေများကို ရှောင်ရှားပြီး သဘောတရားဆိုင်ရာ စီးဆင်းမှုကို အာရုံစိုက်သည်- အဝင်ဘိုက်များသည် လုပ်ငန်းစဉ်ထဲသို့ ဝင်ရောက်လာပြီး၊ အတွင်းပိုင်းအခြေအနေကို initialize လုပ်ကာ၊ ဘိုက်တစ်ခုစီကို လက်ရှိတန်ဖိုးဖြင့် XORed လုပ်ကာ၊ ရလဒ်ကို မြှောက်ကာ၊ နောက်ဆုံး 32-bit hash ထုတ်လုပ်သည်အထိ စက်ဝန်းသည် ထပ်ခါတလဲလဲ ဖြစ်ပေါ်သည်။ အဆင့်တစ်ခုစီအတွက် မတူညီသောအရောင်များကို အသုံးပြုထားခြင်းကြောင့် အယ်လဂိုရီသမ်ကို အစပြုသူများအတွက်ပင် လိုက်နာရလွယ်ကူစေသည်။
