CRC-32 ဟက်ရှ်ကုဒ်တွက်စက်
ထုတ်ဝေသည်- ၂၀၂၅၊ ဖေဖော်ဝါရီ ၁၇ UTC ၁၈:၁၅:၃၄
စာသားထည့်သွင်းမှု သို့မဟုတ် ဖိုင်အပ်လုဒ်အပေါ် အခြေခံ၍ hash ကုဒ်ကို တွက်ချက်ရန် CRC-32 (Cyclic Redundancy Check 32 bit) hash လုပ်ဆောင်ချက်ကို အသုံးပြုသည့် Hash ကုဒ်ဂဏန်းတွက်စက်။CRC-32 Hash Code Calculator
Cyclic Redundancy Check (CRC) သည် ဒေတာကုန်ကြမ်းတွင် မတော်တဆပြောင်းလဲမှုများကို သိရှိရန် အသုံးများသော အမှား-ထောက်လှမ်းကုဒ်တစ်ခုဖြစ်သည်။ နည်းပညာအရ cryptographic hash function မဟုတ်သော်လည်း၊ CRC-32 သည် မပြောင်းလဲနိုင်သော အရှည်ထည့်သွင်းမှုမှ ပုံသေအရွယ်အစားအထွက် (32 bits) ကို ထုတ်လုပ်နိုင်ခြင်းကြောင့် hash အဖြစ် မကြာခဏ ရည်ညွှန်းပါသည်။
ထုတ်ဖော်ချက်အပြည့်အစုံ- ဤစာမျက်နှာတွင်အသုံးပြုထားသော hash function ၏ သီးခြားအကောင်အထည်ဖော်မှုကို ကျွန်ုပ်မရေးခဲ့ပါ။ ၎င်းသည် PHP ပရိုဂရမ်းမင်းဘာသာစကားဖြင့် ပါဝင်သော စံလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ အဆင်ပြေစေရန် ဤနေရာတွင် လူသိရှင်ကြားရစေရန် ဝဘ်အင်တာဖေ့စ်ကိုသာ ပြုလုပ်ထားပါသည်။
CRC-32 Hash Algorithm အကြောင်း
ကျွန်ုပ်သည် သင်္ချာပညာရှင်မဟုတ်သော်လည်း ဤ hash လုပ်ဆောင်ချက်ကို ရိုးရှင်းသော ဥပမာဖြင့် ရှင်းပြရန် ကြိုးစားပါမည်။ cryptographic hash လုပ်ဆောင်ချက်များစွာနှင့်မတူဘဲ၊ ၎င်းသည် အထူးရှုပ်ထွေးသော အယ်လဂိုရီသမ်မဟုတ်ပါ၊ ထို့ကြောင့် ၎င်းသည် အဆင်ပြေလိမ့်မည် ;-)
သင်သည် စာတစ်စောင်ပို့နေသည်ဟု မြင်ယောင်ကြည့်ပါ၊ သို့သော် လက်ခံသူထံမရောက်မီ ၎င်းသည် ပျက်စီးသွားမည်ကို စိုးရိမ်နေပါသည်။ စာ၏အကြောင်းအရာအပေါ်အခြေခံ၍ သင်သည် CRC-32 checksum ကိုတွက်ချက်ပြီး စာအိတ်ပေါ်တွင်ရေးပါ။ လက်ခံသူသည် စာကိုလက်ခံရရှိသောအခါ၊ သူ သို့မဟုတ် သူမသည် checksum ကိုလည်း တွက်ချက်နိုင်ပြီး သင်ရေးထားသည်နှင့် ကိုက်ညီမှုရှိမရှိ စစ်ဆေးနိုင်သည်။ ထိုသို့ဖြစ်လျှင် လမ်းတစ်လျှောက်တွင် စာသည် ပျက်စီးခြင်း သို့မဟုတ် ပြောင်းလဲခြင်း မရှိပါ။
CRC-32 လုပ်ဆောင်ပုံသည် အဆင့်လေးဆင့် ဖြစ်သည်-
အဆင့် 1- အပိုနေရာအချို့ကို ထည့်ပါ (padding)
- CRC သည် မက်ဆေ့ချ်၏အဆုံးတွင် အခန်းအနည်းငယ်ထပ်ထည့်သည် (ပုံးတစ်ခုအတွင်း မြေပဲထုပ်ပိုးခြင်းကဲ့သို့)။
- ၎င်းသည် အမှားများကို ပိုမိုလွယ်ကူစွာ သိရှိနိုင်ရန် ကူညီပေးသည်။
အဆင့် 2- မှော်အုပ်စိုး (ပိုလီအမည်)
- CRC-32 သည် ဒေတာကိုတိုင်းတာရန် အထူး "မှော်ပေတံ" ကို အသုံးပြုသည်။
- ဤအရာအား အဖုအထစ်များရှိသော ပုံစံကဲ့သို့ တွေးကြည့်ပါ (၎င်းသည် သာတူညီမျှဖြစ်သော်လည်း ဤစကားလုံးအတွက် စိတ်မပူပါနှင့်)။
- CRC-32 အတွက် အသုံးအများဆုံး "ပေတံ" သည် ပုံသေပုံစံဖြစ်သည်။
အဆင့် 3- အုပ်ထိန်းကို ပွတ်ဆွဲခြင်း (ဌာနခွဲလုပ်ငန်းစဉ်)
- ယခု CRC သည် စာတိုကိုဖြတ်၍ ပေတံကို ရွှေ့သည်။
- နေရာတစ်ခုစီတွင်၊ အဖုအထစ်များနှင့် grooves များတန်းစီခြင်းရှိမရှိစစ်ဆေးသည်။
- လိုင်းမတင်ပါက CRC က မှတ်စုတစ်ခု ပြုလုပ်သည် (၎င်းကို လှန်လိုက်သောခလုတ်များ အဖွင့်အပိတ်များကဲ့သို့ ရိုးရိုး XOR ကို အသုံးပြု၍ လုပ်ဆောင်သည်)။
- ၎င်းသည် အဆုံးအထိ လျှောလျှောနှင့် လှန်လိုက်သောခလုတ်များကို ဆက်လက်လုပ်ဆောင်သည်။
အဆင့် 4- နောက်ဆုံးရလဒ် ( Checksum )
- စာတိုတစ်ခုလုံးကိုဖြတ်၍ ပေတံကို ပွတ်ဆွဲပြီးနောက်၊ မူရင်းဒေတာကိုကိုယ်စားပြုသည့် ဂဏန်းသေးသေး (32 bits ရှည်) ကျန်ခဲ့သည်။
- ဤနံပါတ်သည် မက်ဆေ့ချ်အတွက် ထူးခြားသော လက်ဗွေနှင့်တူသည်။
- ဤသည်မှာ CRC-32 ချက်လက်မှတ်ဖြစ်သည်။
စာမျက်နှာပေါ်ရှိတင်ပြသည့်ဗားရှင်းသည် အခြားစနစ်များနှင့် အကောင်းဆုံး တွဲဖက်အသုံးပြုနိုင်ရန် သင်အသုံးပြုသင့်သည့် မူရင်း CRC-32 လုပ်ဆောင်ချက်ဖြစ်သည်။
အခြားမျိုးကွဲများအတွက်လည်း ကျွန်ုပ်တွင် ဂဏန်းပေါင်းစက်များရှိသည်။