လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Crypt () function ကိုအသုံးပြုပြီးရိုးရှင်းသောသုံးစွဲသူအတည်ပြုစနစ်ကိုလျင်မြန်စွာအကောင်အထည်ဖော်နိုင်မည်နည်း။

Crypt () function ကိုအသုံးပြုပြီးရိုးရှင်းသောသုံးစွဲသူအတည်ပြုစနစ်ကိုလျင်မြန်စွာအကောင်အထည်ဖော်နိုင်မည်နည်း။

M66 2025-05-24

ရိုးရိုးရှင်းရှင်းအသုံးပြုသူစနစ်ကိုတီထွင်သည့်အခါစာဝှက်ထားသည့်စကားဝှက်များသိုလှောင်မှုသည်လုံခြုံရေးအုတ်မြစ်တစ်ခုဖြစ်သည်။ PHP သည်အလွန်လက်တွေ့ကျသောစာဝှက်စနစ် function ကိုထောက်ပံ့ပေးသည် ၎င်းသည်အခြေခံစကားဝှက်စာဝှက်ခြင်းနှင့်စိစစ်အတည်ပြုလုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ရန်ကူညီနိုင်သည်။ ဤဆောင်းပါးသည် Crypt () function ကို အသုံးပြု. ရိုးရှင်းသောအသုံးပြုသူစစ်မှန်ကြောင်းအတည်ပြုစနစ်တည်ဆောက်ရန်မည်သို့ဖော်ပြရန်ဥပမာဥပမာတစ်ခုကိုအသုံးပြုမည်။

1 ။ Crypt () function ကိုနားလည်ပါ

crypt () သည် PHP တွင် php တွင် function တစ်ခုအတွက် password encryption အတွက်အသုံးပြုသည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 string crypt(string $string, string $salt)

၎င်းတို့အနက် $ string သည် encrypt လုပ်ထားရန်လိုအပ်သော string တစ်ခုဖြစ်ပြီး ဒေါ်လာဆား သည် encryption ရလဒ်များကိုအကျိုးသက်ရောက်စေရန်အသုံးပြုသော "ဆား" တန်ဖိုးသည် encryption algorithms (sha-256, Sha-256, Sha-512 စသည်) အမျိုးမျိုးကိုထောက်ပံ့သည်။

2 ။ မှတ်ပုံတင်ခြင်းယုတ္တိဗေဒကိုဖန်တီးပါ

မှတ်ပုံတင်သည့်အခါစကားဝှက်ကိုစာဝှက်ရန်နှင့်သိုလှောင်ရန်လိုအပ်သည်။ ဤတွင်ရိုးရိုးရှင်းရှင်းမှတ်ပုံတင်ခြင်းဥပမာတစ်ခုဖြစ်သည်။

 <?php
// အသုံးပြုသူအားဖြင့်ထည့်သွင်းထားသောစကားဝှက်
$password = 'user_password123';

// အသုံးပြု Blowfish algorithm သည် encryption password ကိုထုတ်ပေးသည်
$hash = crypt($password, '$2y$10$' . bin2hex(random_bytes(11)));

// ဒေတာဘေ့စမှသိမ်းဆည်းရန် Simulate
file_put_contents('users.txt', "username:$hash\n");

echo "အသုံးပြုသူမှတ်ပုံတင်,စကားဝှက်ကိုစာဝှက်ပြီးသိမ်းဆည်းထားပါသည်。";
?>

ဤတွင်ကျွန်ုပ်တို့သည်ဆားရှေ့ဆက် ဒေါ်လာ 2Y $ 10 ဒေါ်လာ ဖြင့်အစပြုသည်။ ဆိုလိုသည်မှာ Blowfish algorithm ကိုအသုံးပြုသည် (စကားဝှက်စာဝှက်ခြင်းအတွက်အကြံပြုသည်) ။ DismanT_bytes (11) သည်ကျပန်းဆားတန်ဖိုးကိုထုတ်ပေးသည်, စကားဝှက်သည်အတူတူပင်လျှင်ပင်စာဝှက်သောရလဒ်တစ်ခုစီသည်ကွဲပြားခြားနားသည်။

3 ။ login စိစစ်အတည်ပြုယုတ္တိဗေဒကိုဖန်တီးပါ

အသုံးပြုသူမှတ်တမ်းများ 0 င်ရောက်သောအခါထည့်သွင်းထားသောစကားဝှက်ကိုတူညီသောဆားဖြင့် အသုံးပြု. စာဝှက်ရန်လိုအပ်သည်။ ထို့နောက်၎င်းကိုဒေတာဘေ့စ်တွင်ထည့်ပါ။

 <?php
// အသုံးပြုသူထည့်သွင်းမှုကို
$input_username = 'username';
$input_password = 'user_password123';

// မှ“ဒေတာဘေ့စ်”သတင်းအချက်အလက်များကိုဖတ်ပါ
$data = file('users.txt');
foreach ($data as $line) {
    list($stored_username, $stored_hash) = explode(':', trim($line));

    if ($input_username === $stored_username) {
        // အသုံးပြု存储的 hash အဖြစ် salt နောက်တဖန်ထည့်သွင်းထားသောစကားဝှက်ကို encrypt
        if (crypt($input_password, $stored_hash) === $stored_hash) {
            echo "အောင်မြင်စွာဝင်ပါ,ကြိုဆိုပါတယ် $input_username!";
        } else {
            echo "စကားဝှက်。";
        }
        exit;
    }
}

echo "အသုံးပြုသူမတည်ရှိပါဘူး。";
?>

ဤနည်းအားဖြင့်တိုက်ခိုက်သူသည်စကားဝှက် hash ကိုခိုးယူခံရလျှင်ပင်မူရင်းစကားဝှက်ကို hash မှတိုက်ရိုက်ပြန်လည်မရရှိနိုင်ပါ။ တစ်ချိန်တည်းမှာပင်တစ်ချိန်တည်းမှာပင်အသုံးပြုသူတစ် ဦး စီသည်ကွဲပြားသောဆားကို အသုံးပြု. အသုံးပြုသူများသည်တူညီသောစကားဝှက်ကိုအသုံးပြုနေလျှင်ပင်သိုလှောင်ထားသော hash တန်ဖိုးသည်ကွဲပြားခြားနားသည်။

4 ။ နောက်ထပ်အားဖြည့်ခြင်း

Crypt () သည် အခြေခံလုံခြုံရေးကိုထောက်ပံ့ပေးနိုင်သော်လည်း PHP သည် Phil_Hash () နှင့် password_verify () ကို 5.5 ကနေအသုံးပြုသည်။ သူတို့ဟာအောက်ခြေမှာ crypt () ကို သုံးနေတုန်းပဲ, ဒါပေမယ့် Encapsulation ဟာပိုပြီးပြီးပြည့်စုံပြီးလုံခြုံမှုရှိတယ်။

သို့သော်အချို့သောကန့်သတ်သောပတ်ဝန်းကျင်တွင် (ထိုကဲ့သို့သောဆားကိုထိန်းချုပ်ရန်လိုအပ်သောဆာဗာများသို့မဟုတ်စနစ်များကဲ့သို့သော) crypt () သည်ထိရောက်သောကိရိယာတစ်ခုဖြစ်နေဆဲပင်။

5 ။ အကျဉ်းချုပ်

အထက်ပါအကြောင်းအရာများမှတစ်ဆင့် PHP ၏ crypt () function ကိုအသုံးပြုခြင်းသည်ရိုးရှင်းသောသုံးစွဲသူစနစ်ကိုလျင်မြန်စွာတည်ဆောက်နိုင်သည်ကိုကျွန်ုပ်တို့တွေ့နိုင်သည်။

  • စကားဝှက်များကိုစာဝှက်ပြီးမှတ်ပုံတင်သည့်အခါ၎င်းတို့ကိုသိမ်းဆည်းပါ။

  • စကားဝှက်များကိုပြန်လည်ဝှက်ပြီး 0 င်သောအခါ logging လုပ်သည့်အခါတူညီသောဆားတန်ဖိုးကိုနှိုင်းယှဉ်ပါ။

  • encryption cloud ကိုတိုးမြှင့်ခြင်းနှင့်သက်တံ့စားပွဲတင်တိုက်ခိုက်မှုများတားဆီးဖို့ကျပန်းဆားနှင့်အတူပေါင်းစပ်။

Password_Hash () သည် ခေတ်မီစီမံကိန်းများအတွက်ပိုမိုအကြံပြုသော်လည်း,

အခြေခံအသုံးပြုသူစစ်မှန်ပြတ်သားမှုလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်အတွက်အထက်ဖော်ပြပါကုဒ်ကိုသင်၏ 0 က် ်ဆိုက်စနစ်ထဲသို့ပေါင်းစပ်နိုင်သည်။