အသုံးပြုသူတစ်ဦးကို အတည်ပြုနေစဉ် သို့မဟုတ် အလားတူတစ်ခုခုပြုလုပ်နေစဉ် စကားဝှက်ကို လွင်ပြင်စာသားဖြင့် ဘယ်သောအခါမှ မသိမ်းဆည်းရပါ။
လူများစွာသည် တူညီသောစကားဝှက်ကိုအသုံးပြုသောကြောင့်၊ တိုက်ခိုက်သူတစ်ဦးသည် ကုဒ်မထားသောစကားဝှက်များ၏ဒေတာဘေ့စ်ကိုတွေ့ရှိပါက၊ ၎င်းတို့ကို ချိတ်ဆက်ထားသောဝဘ်ဆိုဒ် သို့မဟုတ် အကောင့်ထဲသို့ဝင်ရောက်ရန် တူညီသောအီးမေးလ်များနှင့် တွဲဖက်အသုံးပြုနိုင်ပြီး အခြားအကောင့်များကို ဝင်ရောက်ကြည့်ရှုရန်ပင် အသုံးပြုနိုင်သည်။
စကားဝှက်ကို ပေးဆောင်သောအခါ ယနေ့ခေတ် စကားဝှက်များကို မကြာခဏ ဟက်ခံရပါသည်။ ဆားဖြင့် ချက်ပြီး ဆားကို hashed password ဖြင့် သိမ်းဆည်းရန် အကြံပြုထားသည်။
ဆားရည်သည် hash browns များအတွက် ချက်နည်းတစ်ခုမှ အဆင့်တစ်ခုကဲ့သို့ ထင်ရသော်လည်း cryptography တွင်၊ hash သည် ထည့်သွင်းမှုများ တူညီနေလျှင်ပင် hash function ၏ ထည့်သွင်းမှုတွင် ကျပန်းဒေတာကို ထည့်သွင်းခြင်းကို ရည်ညွှန်းပါသည်။
ရလဒ်အနေဖြင့်၊ ဆားထည့်ခြင်းဖြင့် ဖန်တီးထားသော ထူးခြားသော hash သည် အဘိဓာန်နှင့် brute-force အော့ဖ်လိုင်းကြိုးစားမှုများကို ဟန့်တားခြင်းအပါအဝင် hash table တိုက်ခိုက်မှုများအပါအဝင် တိုက်ခိုက်မှုနည်းလမ်းများစွာမှ ကျွန်ုပ်တို့ကို ခုခံကာကွယ်ပေးနိုင်ပါသည်။
ဤတွင်၊ ကုဒ်အတိုအထွာများ၏အကူအညီဖြင့်၊ သင့်စကားဝှက်များကိုလုံခြုံစေရန် 'bcrypt' ကိုအသုံးပြုပုံကို ကျွန်ုပ်တို့သရုပ်ပြပါမည်။
ဒါဆို 'bcrypt' ဆိုတာ ဘာလဲ။
Bcrypt သည် ဘာသာစကားများစွာကို ပံ့ပိုးပေးပြီး အထူးစကားဝှက်ဝှက်ဝှက်ကို ပံ့ပိုးပေးသည့် hashing library တစ်ခုဖြစ်သည်။ သင့်စကားဝှက်၏လုံခြုံရေးကို တိုးမြှင့်ရန်အတွက်၊ ၎င်းသည် သင့်စာကြောင်းကို ကုဒ်ဝှက်သည့်အခါတွင် နောက်ထပ် ကျပန်းစာလုံးများ (ဆား) ကို အလိုအလျောက်ထုတ်ပေးပါသည်။
အဝင်စာကြောင်းတစ်ခုသို့ သင်ထည့်လိုသည့် နောက်ထပ်အက္ခရာအရေအတွက်ကို သတ်မှတ်ရန်လည်း သင်ရွေးချယ်နိုင်သည်။
bcrypt စာကြည့်တိုက်သည် အကြမ်းကြိုးများမဟုတ်ဘဲ byte ကုဒ်ကိုသာ ဖတ်သည်။ ထို့ကြောင့်၊ ကုဒ်ဝှက်ရန်အတွက် ဝင်လာသော စကားဝှက်စာကြောင်းကို မတင်ပြမီ၊ သင်သည် ၎င်းကို ဦးစွာ ကုဒ်ဝှက်ထားရပါမည်။
ကုဒ်ဝှက်ခြင်းနှင့် ကုဒ်ဝှက်ခြင်းတို့သည် တူညီသောအရာမဟုတ်ပါ။ ကုဒ်ဝှက်ခြင်းနည်းပညာဖြင့် ဖုံးကွယ်ခြင်းမပြုမီ စာကြောင်းတစ်ကြောင်းကို စက်ဖြင့်ဖတ်နိုင်စေရန် သေချာစေပါသည်။
Python တွင် စကားဝှက်တစ်ခုကို စာဝှက်ရန် bcrypt ကိုအသုံးပြုခြင်း။
Python သည် bcrypt စကားဝှက်ကို ကုဒ်ဝှက်ခြင်းကို ရိုးရှင်းစေသည်။ မူဘောင်တစ်ခု၏အကူအညီမပါဘဲ ၎င်းကိုလုပ်ဆောင်ရန် ကျွန်ုပ်တို့အာရုံစိုက်ပါမည်။ သို့သော် စိတ်မပူပါနှင့်၊ အသုံးပြုသူသွင်းအားစုများကို သိမ်းဆည်းနည်းကို နားလည်ပြီး ၎င်းတို့ကို ဒေတာဘေ့စ်မှ ဖတ်ပါက၊ လုပ်ထုံးလုပ်နည်းသည် မူဘောင်များတွင် အတူတူပင်ဖြစ်ပါသည်။
installation
သင်သည် Python virtual ပတ်၀န်းကျင်ကိုတည်ဆောက်ပြီးနောက် PyCharm ကဲ့သို့ IDE ကိုအသုံးပြုရန်သာလိုသည်။ ထို့နောက် စာကြည့်တိုက်ကို ဦးစွာ ထည့်သွင်းရပါမည်။
စကားဝှက်ကို ကုဒ်ဝှက်ခြင်း။
ထည့်သွင်းပြီးသည်နှင့် စာသားကို စာဝှက်ရန် bcrypt ကို အသုံးပြုနည်းကို ကြည့်ကြပါစို့။
အထက်ဖော်ပြပါ Python ကုဒ်သည် ကုဒ်ဝှက်ထားသော byte စာကြောင်းတစ်ခုအား လုပ်ဆောင်ပြီး ထုတ်ပေးသည်။ ဒါပေမယ့် ဇာတ်ညွှန်းကိုဖွင့်တိုင်း ရလဒ်က မတူပါဘူး။ Bcrypt သည် အသုံးပြုသူတိုင်းတွင် အထူးကုဒ်ဝှက်ထားသော စကားဝှက်တစ်ခုရှိကြောင်း သေချာစေရန် ဤနည်းလမ်းကို အသုံးပြုသည်။
၎င်းသည် စကားဝှက်ဝှက်ခြင်းအတွက်ဖြစ်သည်။
Bcrypt ကို အသုံးပြု၍ စကားဝှက် နှိုင်းယှဉ်ခြင်းနှင့် အတည်ပြုခြင်း။
hashed password ကို သိမ်းဆည်းပြီး စစ်မှန်ကြောင်း အထောက်အထားအတွက် အသုံးပြုသူ တင်ပြသည့် စကားဝှက်နှင့် ကိုက်ညီမှုရှိမရှိကို နောက်မှ စစ်ဆေးကြည့်လျှင် ဘာဖြစ်နိုင်မည်နည်း။
အဲဒါ ရိုးရှင်းပါတယ်။ အထောက်အထားစိစစ်ခြင်း စကားဝှက်ကိုသာ ဒေတာဘေ့စ်၏ ထည့်သွင်းမှု (သို့မဟုတ် ဤကိစ္စတွင် မန်မိုရီတွင်) နှိုင်းယှဉ်ရပါမည်။
bcrypt သည် byte strings များကိုသာ ဖတ်နိုင်သောကြောင့် ဒေတာဘေ့စ်ရှိ တစ်ခုနှင့် နှိုင်းယှဉ်ခြင်းမပြုမီ စစ်မှန်ကြောင်းသက်သေပြခြင်း စကားဝှက်ကိုလည်း ကုဒ်လုပ်ထားရပါမည်။ အခြေခံအားဖြင့်၊ သင်သည် သင့်ဒေတာဘေ့စ်တွင် လက်ရှိတွင်ရှိသော ကုဒ်လုပ်ထားသော hashed စကားဝှက်နှင့် ကုဒ်လုပ်ထားသော စစ်မှန်ကြောင်းအထောက်အထားထည့်သွင်းမှုကို နှိုင်းယှဉ်မည်ဖြစ်သည်။
စိတ်ကူးယဉ် Python ထည့်သွင်းမှုများကို အသုံးပြု၍ ၎င်းကို စမ်းသပ်ကြည့်ကြပါစို့။
အထက်ဖော်ပြပါ ကုဒ်ကို လုပ်ဆောင်ပြီးပါက၊ စကားဝှက်အသစ်အတွက် သင့်အား သတိပေးခံရပါသည်။ ၎င်းကို Python မှ မှတ်ဉာဏ်တွင် သိမ်းဆည်းထားသည်။ စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းကဏ္ဍတွင်၊ ထို့နောက် သင့်အတွက်သီးသန့်ဖြစ်သည့် တူညီသောစကားဝှက်ကို ရိုက်ထည့်ရပါမည်။
စကားဝှက်ကို နှိုင်းယှဉ်ပြီး ယခင်က ကုဒ်ဝှက်ပြီး ကိုက်ညီမှု သိမ်းဆည်းထားသည့် အရာကို နှိုင်းယှဉ်ပါက၊ Python သည် အောင်မြင်သော မက်ဆေ့ဂျ်ကို ထုတ်လွှတ်သည်။
မဟုတ်ပါက error message ကို print ထုတ်ပြီး အခြားဝါကျကို ထပ်ထည့်သည်။
အခြေခံအယူအဆမှာ မှတ်ပုံတင်ပြီး စစ်မှန်ကြောင်းသက်သေပြရန်အတွက် ဒေတာဘေ့စ်သို့ စကားဝှက်တစ်ခု ပေးဆောင်ခြင်းနှင့် တူညီပါသည်။
ကောက်ချက်
ရိုးရှင်းသော Python တိုတောင်းသောမှတ်ဉာဏ်တွင် bcrypt လုပ်ဆောင်ပုံကိုပြသရန် ကုဒ်ဝှက်ထားသောစကားဝှက်များကို ရိုးရိုးရှင်းရှင်းအသုံးပြုထားသော်လည်း ၎င်း၏ လက်တွေ့အသုံးချနိုင်မှုသည် အသုံးပြုသူအခြေခံအက်ပ်များတွင် တည်ရှိသည်။
မည်သို့ပင်ဆိုစေကာမူ၊ ဤဆောင်းပါးသည် လက်တွေ့ကမ္ဘာအခြေအနေများတွင်ပင် ၎င်းကိုပြီးမြောက်စေရန် သင့်ကုဒ်ကို စုစည်းရန် မရှိမဖြစ်လိုအပ်သောနည်းလမ်းများကို သရုပ်ပြထားသည်။
ဥပမာအားဖြင့်၊ သင်သည် Flask ကိုအသုံးပြုနေပါက၊ ထည့်သွင်းမှုများအစား သီးခြားဝဘ်ပုံစံများမှတစ်ဆင့် မှတ်ပုံတင်ခြင်းနှင့် အထောက်အထားစိစစ်ခြင်းအကွက်များကို ပေးနိုင်ပါသည်။
ဟုတ်ပါတယ်၊ စကားဝှက်များကို နှိုင်းယှဉ်နေစဉ်တွင်၊ သင်သည် လက်တွေ့ကမ္ဘာတွင် သိမ်းဆည်းထားသည့် ကုဒ်ဝှက်ထားသော စကားဝှက်များပါရှိသော ဒေတာဘေ့စ်မှ သင်ဖတ်မည်ဖြစ်သည်။
Jona Nitsch
ဒီလို ရိုးရှင်းပြီး ရိုးရှင်းတဲ့ ရှင်းပြချက်အတွက် ကျေးဇူးတင်ပါတယ်၊
ဒါက ကျွန်တော့်ရဲ့ လက်ရှိ ပရောဂျက်မှာ အများကြီး အထောက်အကူ ဖြစ်စေပါတယ်။
နမူနာကုဒ်ကို အနိမ့်ဆုံးအနိမ့်ဆုံးတွင် ကန့်သတ်ထားပြီး အခြားရှင်းပြချက်များစွာကဲ့သို့ ဝန်မပိစေရန် အလွန်ကောင်းသည်ဟု ကျွန်ုပ်ထင်ပါတယ်။
လေးစားစွာဖြင့်