PHP စီမံကိန်းများတွင်စကားဝှက်စာဝှက်စနစ်သည်အသုံးပြုသူအချက်အလက်များ၏လုံခြုံရေးကိုသေချာစေရန်အရေးကြီးသောအပိုင်းဖြစ်သည်။ အသုံးများသောစကားဝှက်စာဝှက်ခြင်းနည်းလမ်းနှစ်ခုသည် crypt () function နှင့် password_hash () function ကိုဖြစ်သည်။ ဒါဆိုငါဘယ်တစ်ခုရွေးသင့်သလဲ သူတို့အကြားခြားနားချက်ကဘာလဲ။ ဤဆောင်းပါးသည်သင်ပိုမိုသင့်တော်သောရွေးချယ်မှုပြုလုပ်ရန်ကူညီရန်ဤနှစ်ခု၏ဝိသေသလက္ခဏာများကိုအသေးစိတ်ခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
System ၏ encryption algorithm အပေါ် အခြေခံ. အကောင်အထည်ဖော်သည့် PHP တွင် crypt () PHP တွင်အဆင့်နိမ့်သော password encryption function ကိုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိပြီး SHA-512 ကဲ့သို့သော alcryption algorithms (des, MD5, Blowfish, Sha-256, Sha-512) အမျိုးမျိုးကိုထောက်ပံ့သည်။ သို့သော်၎င်းသည်အသုံးပြုရန်အတွက်ရှုပ်ထွေးသည်။
$password = 'mysecretpassword';
$salt = '$2y$10$' . substr(strtr(base64_encode(random_bytes(16)), '+', '.'), 0, 22);
$hashed = crypt($password, $salt);
echo $hashed;
ဤတွင် ဒေါ်လာ 2Y $ 2Y $ 2y algorithm ကိုကိုယ်စားပြုသည်။ 10 သည်ကုန်ကျစရိတ် parameter (ကုန်ကျစရိတ်) ဖြစ်ပြီးဆားတန်ဖိုးကိုကိုယ်တိုင်ထုတ်လုပ်ရန်လိုအပ်သည်။
မျိုးစုံ encryption algorithms ထောက်ခံပါတယ်။
မြင့်မားသောပြောင်းလွယ်ပြင်လွယ်နှင့်သတ်သတ်မှတ်မှတ်လိုအပ်ချက်များနှင့်အတူစီမံကိန်းများအတွက်သင့်လျော်သော။
developer သည်ဆားတန်ဖိုးကိုမိမိကိုယ်တိုင်ကိုင်တွယ်ရန်လိုအပ်သည်။
ကုဒ်သည်ရှုပ်ထွေးပြီးလုံခြုံရေးအားနည်းချက်များသို့အလွယ်တကူ ဦး ဆောင်လမ်းပြနိုင်သည်။
algorithms ကိုအလိုအလျောက်အဆင့်မြှင့်နိုင်စွမ်းမရှိပါ။
Password_Hash () သည် Php 5.5+ တွင်မိတ်ဆက်ပေးသော PHP 5.5+ တွင်မိတ်ဆက်ပေးသော PHP 5.5+ တွင်မိတ်ဆက်ပေးသော PHP 5.5+ တွင်မိတ်ဆက်ပေးထားသည်။ ၎င်းသည်လုံခြုံစိတ်ချရသော algorithms ကိုတည်ဆောက်ပြီးဆားနှင့်အသုံးပြုရန်လုံခြုံသောဆားတန်ဖိုးများကိုအလိုအလျောက်ထုတ်ပေးသည်။
$password = 'mysecretpassword';
$hashed = password_hash($password, PASSWORD_DEFAULT);
echo $hashed;
Password_Default သည် အများအားဖြင့်အလုံခြုံဆုံး algorithm (များသောအားဖြင့် bcrypt) ကိုအလိုအလျောက်သုံးပြီးဆားငန်တန်ဖိုးများကိုအလိုအလျောက်ထုတ်လုပ်လိမ့်မည်။
လုံခြုံသောဆားတန်ဖိုးများကိုအလိုအလျှောက်ထုတ်လုပ်ရန်။
တိကျသောနှင့်အသုံးပြုရန်လွယ်ကူခြင်း, ရှင်းလင်းသောကုဒ်။
ပံ့ပိုးမှုစင်တာစကားဝှက်ကိုအတည်ပြုရန် function ကို password_verifyify () ။
နောက်ဆက်တွဲလုံခြုံရေးပြုပြင်ထိန်းသိမ်းမှုလွယ်ကူချောမွေ့စေရန် hash algorithm upgrade ပံ့ပိုးမှု။
ပြောင်းလွယ်ပြင်လွယ်ရှိလျှင်အနည်းငယ်အားနည်းခြင်းနှင့်ထုံးစံဆားတန်ဖိုးများကိုမထောက်ပံ့ပါ။
PHP ဗားရှင်းကိုမှီခိုနေရသောအောက်ပိုင်းဗားရှင်းသည်သဟဇာတဖြစ်သောစာကြည့်တိုက်များ၏လက်စွဲနိဒါန်းလိုအပ်သည်။
သီးခြားထင်ရှားသော | crypt () | Password_Hash () |
---|---|---|
ဆားတန်ဖိုးအပြောင်းအလဲနဲ့ | ဆားတန်ဖိုးကိုကိုယ်တိုင်ထုတ်လုပ်ရန်လိုအပ်သည် | အလိုအလျှောက်လုံခြုံဆားတန်ဖိုးများကိုထုတ်လုပ်ပါ |
Algorithm ပံ့ပိုးမှု | အမျိုးမျိုးသော algorithms (ကိုယ်တိုင်သတ်မှတ်ရန်လိုအပ်သည်) | Default မှလုံခြုံရေး algorithms (bcrypt) ကိုအသုံးပြုပါ |
အသုံးပြုရန်လွယ်ကူခြင်း | ရှုပ်ထွေးသော, ဂရုတစိုက်ဒီဇိုင်းလိုအပ်သည် | ရိုးရှင်းသော, အကြံပြု |
စကားဝှက်အတည်ပြုခြင်း | ကိုယ်တိုင်လုပ်ဆောင်ရန်လိုအပ်သည် | password_verify () ကိုအသုံးပြုပြီးရိုးရှင်း |
လိုက်ကြားမှု | PHP ဗားရှင်းအားလုံးနှင့်သဟဇာတ | PHP 5.5 နှင့်အထက်လိုအပ်သည် |
လုံခွုံရေး | မတော်လျော်သောအသုံးပြုရန်အတွက်လုံခြုံမှုပြ problems နာများကိုဖြစ်ပေါ်စေသည် | ပိုမိုလုံခြုံပြီးဒီဇိုင်းဖြင့်ထိန်းသိမ်းရန်လွယ်ကူသည် |
Modern PHP စီမံကိန်းများတွင်စကားဝှက်စာဝှက်ခြင်းအတွက် password_hash () ကို အသုံးပြုရန်အကြံပြုသည်။ ၎င်းသည်ဖွံ့ဖြိုးတိုးတက်မှုအခက်အခဲများကိုလျော့နည်းစေရုံသာမကလုံခြုံရေးနှင့်ထိန်းသိမ်းမှုကိုပိုမိုမြင့်မားစေသည်။ crypt () သည်အစွမ်းထက်သော်လည်း၎င်းကို အသုံးပြု. ၎င်းသည်ရှုပ်ထွေးပြီး configuration အမှားများကိုဖြစ်ပေါ်စေသည်။ ၎င်းကိုသတ်သတ်မှတ်မှတ်အခြေအနေများတွင်အသုံးပြုရန်အကြံပြုသည်။
hash ကို password_hash () ကိုဖန်တီးပြီးနောက်စကားဝှက်ကိုအတည်ပြုရန်အလွန်အဆင်ပြေသည်။
$hashed = password_hash('mysecretpassword', PASSWORD_DEFAULT);
if (password_verify('mysecretpassword', $hashed)) {
echo 'စကားဝှက်ကိုစစ်ဆေးခြင်းအောင်မြင်ခဲ့သည်';
} else {
echo 'စကားဝှက်';
}
Password_Hash () () - application အများစုအတွက်သင့်တော်သောရိုးရှင်းသော, လုံခြုံပြီးခေတ်မီသောစကားဝှက်စာဝှက်ခြင်းနည်းလမ်းကိုရွေးချယ်ပါ ။
crypt ကိုရွေးချယ်ပါ () - အထူးလိုအပ်ချက်များရှိသည့်အခါသို့မဟုတ်စာဝှက်စနစ် algorithms များအတွက်စိတ်ကြိုက်လိုအပ်ချက်များရှိသည့်အခါ၎င်းကိုထည့်သွင်းစဉ်းစားနိုင်သည်။
အသုံးပြုသူသတင်းအချက်အလက်၏လုံခြုံရေးကိုသေချာစေရန် PHP developer များသည် password_hash () ကို ဦး စားပေးရန်နှင့်စကားဝှက်ကိုထည့်သွင်းရန်ကုဒ်နံပါတ်နှစ်မျိုးလုံးကိုသေချာစေရန် Password Develificate အတွက် POSTERIFE () ကိုပေါင်းစပ်ပါ။