စကားဝှက်လုံခြုံရေးသည်အင်တာနက်လျှောက်လွှာဖွံ့ဖြိုးတိုးတက်မှုတွင်အဓိကပြ issues နာများထဲမှတစ်ခုဖြစ်သည်။ အသုံးပြုသူအကောင့်များ၏လုံခြုံရေးကိုသေချာစေရန် developer များကစကားဝှက်ကိုဒေတာဘေ့စ်တွင်ပေါက်ကြားခြင်းသို့မဟုတ်အက်ကွဲခြင်းမပြုရန်မှန်ကန်သောစကားဝှက်သိုလှောင်မှုနည်းလမ်းကိုကျင့်သုံးရန်လိုအပ်သည်။ PHP 7 သည်စကားဝှက်များကိုသိုလှောင်ခြင်းနှင့်ကာကွယ်ခြင်းတို့ကိုရိုးရှင်းလွယ်ကူစေရန်နှင့်မြှင့်တင်ပေးသည့်အစွမ်းထက်သော password_hash function ကိုပေးသည်။ ဤဆောင်းပါးသည်စကားဝှက် hash ကိုထုတ်လုပ်ရန်နှင့်အကောင်းဆုံးအလေ့အကျင့်များကိုမိတ်ဆက်ပေးရန် password_hash ကို မည်သို့အသုံးပြုရမည်ကိုလမ်းညွှန်လိမ့်မည်။
Password Hashing သည်မူရင်းစကားဝှက်ကိုသင်္ချာတွက်ချက်ခြင်းနှင့်ကျပန်းစာလုံးများကိုစုဆောင်းခြင်းဖြင့်စကားဝှက်များကိုသိုလှောင်ခြင်းဖြင့်စကားဝှက်များကိုသိုလှောင်ထားသည့်နည်းစနစ်တစ်ခုဖြစ်သည်။ ဤနည်းအားဖြင့်ဒေတာဘေ့စ်တွင်ပါ 0 င်သောစကားဝှက် Hash သည်ပေါက်ကြားနေလျှင်ပင်တိုက်ခိုက်သူသည်မူလစကားဝှက်ကိုပြန်လည်ရယူရန်ခက်ခဲလိမ့်မည်။ အသုံးပြုသူမှတ်တမ်းများ 0 င်ရောက်သောအခါစနစ်သည်အသုံးပြုသူ၏မည်သူမည်ဝါဖြစ်ကြောင်း Plaintext စကားဝှက်ကိုမသိမ်းဆည်းဘဲသိမ်းဆည်းထားသောသိုလှောင်ထားသော hash value နှင့်နှိုင်းယှဉ်ခြင်းအားဖြင့်စနစ်သည်မည်သူမည်ဝါဖြစ်ကြောင်းအတည်ပြုနိုင်သည်။
စကားဝှက်_Hash function သည်အလွန်ရိုးရှင်းပြီးအသုံးပြုရန်လွယ်ကူသည်။ ၎င်းသည် parameters နှစ်ခုကိုလက်ခံသည်။ တစ်ခုမှာ Hashed ခံရမည့်မူလစကားဝှက်ဖြစ်သည်။ အခြားတစ်ခုမှာသတ်မှတ်ထားသော Hash algorithm ဖြစ်သည်။ ဒီမှာဥပမာတစ်ခုပါ။
$rawPassword = "myPassword";
$options = ['cost' => 12];
$hashedPassword = password_hash($rawPassword, PASSWORD_DEFAULT, $options);
အထက်ပါဥပမာတွင်ကျွန်ုပ်တို့သည်ပုံမှန်စကားဝှက်ကို algorithm ကို အသုံးပြု. ကုန်ကျစရိတ် parameter ကိုသတ်မှတ်သည်။ ကုန်ကျစရိတ်သည် hash တွက်ချက်ရန်လိုအပ်သောကြားဖြတ်အရေအတွက်ကိုကိုယ်စားပြုသည်။ ပိုမိုမြင့်မားသောတန်ဖိုး, hash တွက်ချက်မှုအချိန်ကြာမြင့်လေလေနှင့်ကွဲအက်၏အခက်အခဲတိုးပွားလာ။ ယေဘုယျအားဖြင့် 10 မှ 12 အထိ ကုန်ကျ ရန်ကျိုးကြောင်းဆီလျော်သည်။
စကားဝှက် hash ကိုထုတ်လုပ်ပြီးသည်နှင့်အသုံးပြုသူမှထည့်သွင်းထားသောစကားဝှက်နှင့်ကိုက်ညီကြောင်း Verway_verify function ကိုသုံးနိုင်သည်။ ဤတွင်စကားဝှက်ကိုအတည်ပြုရန်ရိုးရှင်းသောဥပမာတစ်ခု -
$rawPassword = "myPassword";
$hashedPassword = "<ဒေတာဘေ့စ်မှရရှိသော hash တန်ဖိုး>";
if (password_verify($rawPassword, $hashedPassword)) {
echo "စကားဝှက်မှန်";
} else {
echo "စကားဝှက်";
}
အထက်ပါကုဒ်များတွင်အသုံးပြုသူမှထည့်ထားသောစကားဝှက်ကိုဒေတာဘေ့စ်တွင်သိမ်းထားသော hash တန်ဖိုးကိုနှိုင်းယှဉ်သည်။ နှစ် ဦး စလုံးတညီတညွတ်တည်းရှိလျှင်, ဆိုလိုသည်မှာစကားဝှက်စစ်ဆေးခြင်းသည်အောင်မြင်သည်ဟုဆိုလိုသည်။
Password_Hash နှင့် Password_verify function များကိုအသုံးပြုခြင်းအပြင်သင်၏စကားဝှက်သိုလှောင်မှု၏လုံခြုံရေးကိုပိုမိုတိုးတက်စေရန်အောက်ပါအကောင်းဆုံးအလေ့အကျင့်များကိုလည်းယူနိုင်သည်။
PHP 7 တွင် password_hash function ကိုအသုံးပြုခြင်းသည်လုံခြုံသောစကားဝှက်ကိုအလွယ်တကူထုတ်လုပ်နိုင်ပြီး စကားဝှက် ကိုအသုံးပြုနေစဉ်စကားဝှက်သည်မှန်ကန်ကြောင်းအတည်ပြုနိုင်သည် စကားဝှက်လုံခြုံမှုကိုသေချာစေရန်အသုံးပြုသူအကောင့်များကိုအကာအကွယ်ပေးရုံသာမကစနစ်တစ်ခုလုံး၏လုံခြုံရေးကိုလည်းတိုးတက်စေသည်။ ဤဆောင်းပါးတွင်အကောင်းဆုံးအလေ့အကျင့်များကိုလိုက်နာခြင်းအားဖြင့်သင်သည်စကားဝှက်အက်ကွဲခြင်းအန္တရာယ်ကိုထိရောက်စွာလျှော့ချနိုင်ပြီးအသုံးပြုသူများကိုပိုမိုအားကောင်းသည့်ကာကွယ်မှုပေးနိုင်သည်။