လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Bcrypt စာဝှက်ထားတဲ့စကားဝှက်နှစ်ခုကို Laravel မှာဘယ်လိုနှိုင်းယှဉ်မလဲ

Bcrypt စာဝှက်ထားတဲ့စကားဝှက်နှစ်ခုကို Laravel မှာဘယ်လိုနှိုင်းယှဉ်မလဲ

gitbox 2025-06-12

1 ။ နိဒါန်း

Laravel သည် PPP 0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုမူဘောင်ဖြစ်သည်။ Password encryption သည် Laravel development တွင် Playavel development တွင်အသုံးများသောလိုအပ်ချက်ဖြစ်သည်။ Laravel သည် Laravel သည်အလွန်အမင်းအသုံးပြုရလွယ်ကူသော local password Hashing algorithm - Bcrypt - BCRYPM ဤဆောင်းပါးသည် Bcrypt စာဝှက်ထားသောစကားဝှက်များကို Laravel တွင်မည်သို့နှိုင်းယှဉ်ရမည်ကိုရှင်းပြပါမည်။

2 ။ Bcrypt Hashing algorithm

BCRYPT သည်ဆားနှင့်ကုန်ကျစရိတ်တန်ဖိုးများကိုထည့်ခြင်းအားဖြင့်လုံခြုံရေးကိုပိုမိုလုံခြုံစိတ်ချရသော encryption algorithm ကိုအခြေခံသည့်စကားဝှက်ခန်းဆေးထားသည့် algorithm ဖြစ်သည်။ BCRITPM algorithm သည်စကားဝှက်ကိုဆားဖြင့်ဖြည့်ဆည်းပေးပြီး၎င်းကို blowfish ကို အသုံးပြု. encrypt လုပ်သည်။ PHP ကို ​​အသုံးပြု. အောက်ပါ password_hash() ဖြစ်သည်

3 ။ နှစ် ဦး bcrypt hashes နှိုင်းယှဉ်

Laravel တွင် Plaintext password များကို bcrypt hash :: Check () နည်းလမ်းကို အသုံးပြု. Bcrypt Hash ကို အသုံးပြု. Ciphertext password များဖြင့်အလွယ်တကူနှိုင်းယှဉ်နိုင်သည်။ ချက်လက်မှတ် () နည်းလမ်းသည် plaintext password ကိုစာဝှက်ထားသောစကားဝှက်ဖြင့်နှိုင်းယှဉ်ပါလိမ့်မည်။ နှစ်ခုတသမတ်တည်းရှိလျှင်, စစ်မှန်သောပြန်လာ။

if (hash :: check ('လျှို့ဝှက်ချက်', $ hashedpuperword))
    // strings နှစ်ခု strings တသမတ်တည်းရှိလျှင်စစ်မှန်သောပြန်လာ
}
    

ဤနေရာတွင် ဒေါ်လာ hashedpassword သည်ဒေတာဘေ့စ်တွင်သိမ်းဆည်းထားသော bcrypt hash တန်ဖိုးဖြစ်သည်။

3.1 ။ စိတ်ပိုင်းဆိုင်ရာပုံသေနည်း

ချက်လက်မှတ် () နည်းလမ်းကိုအသုံးပြုသောအခါပထမ ဦး ဆုံး parameter သည် plaintext password ကိုနှင့်ဒုတိယ parameter သည်စာဝှက်ထားတဲ့ hash password မှာသေချာအောင်သေချာအောင်လုပ်ပါ။ အောက်ပါဖော်မြူလာများကိုသင်မှတ်မိနိုင်သည်။

"BPP နဲ့အတူမီးဖိုကိုနှိုင်းယှဉ်ကြည့်ပါ ဦး" - ပထမ ဦး ဆုံး parameter သည် Plaintext Password (ခ) ဖြစ်ပြီးဒုတိယ parameter သည် bcrypt hash value (PP) ဖြစ်သည်။ ဆိုလိုသည်မှာပထမ ဦး ဆုံး parameter သည်ကျိုးပဲ့နိုင်သော်လည်းဒုတိယ parameter သည်လုံခြုံမှုရှိသည်။

3.2 ။ နမူနာ

ဤတွင် BCRYPT hashes နှစ်ခုနှင့်နှိုင်းယှဉ်ခြင်း၏ဥပမာပြည့်စုံသောဥပမာတစ်ခုဖြစ်သည်။

$ စကားဝှက် = 'လျှို့ဝှက်ချက်';
$ hashedpassword = '$ 2Y $ 10 $ 10 $ ljrd9sk8h18h18vvvvvcmoz0sqfpz0sqfpz1t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2t2T2t2t2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2T2THTF9YOLJXGDF9yoljxAf / 6';

IF (hash :: Check ($ password, $ hashedperword))
    ECHO '' လျှို့ဝှက်နံပါတ်ကိုက်ညီမှုကိုအောင်မြင်ခဲ့သည်။ '';
} အခြား
    Echo '' လျှို့ဝှက်နံပါတ်ကိုက်ညီမှုမအောင်မြင်ပါ။ '';
}
    

Check () နည်းလမ်းသည်ကြိုးနှစ်ချောင်းသည်တန်းတူရှိမရှိနှင့်နှိုင်းယှဉ်ပါက Hash string သည်မှန်ကန်သောစာဝှက်စနစ် algorithm ကို အသုံးပြု. မှန်ကန်စွာပုံစံချထားသည်ကိုသတိပြုပါ။