ရိုးရိုးရှင်းရှင်းအသုံးပြုသူစနစ်ကိုတီထွင်သည့်အခါစာဝှက်ထားသည့်စကားဝှက်များသိုလှောင်မှုသည်လုံခြုံရေးအုတ်မြစ်တစ်ခုဖြစ်သည်။ PHP သည်အလွန်လက်တွေ့ကျသောစာဝှက်စနစ် function ကိုထောက်ပံ့ပေးသည် ။ ၎င်းသည်အခြေခံစကားဝှက်စာဝှက်ခြင်းနှင့်စိစစ်အတည်ပြုလုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ရန်ကူညီနိုင်သည်။ ဤဆောင်းပါးသည် 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 စသည်) အမျိုးမျိုးကိုထောက်ပံ့သည်။
မှတ်ပုံတင်သည့်အခါစကားဝှက်ကိုစာဝှက်ရန်နှင့်သိုလှောင်ရန်လိုအပ်သည်။ ဤတွင်ရိုးရိုးရှင်းရှင်းမှတ်ပုံတင်ခြင်းဥပမာတစ်ခုဖြစ်သည်။
<?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) သည်ကျပန်းဆားတန်ဖိုးကိုထုတ်ပေးသည်, စကားဝှက်သည်အတူတူပင်လျှင်ပင်စာဝှက်သောရလဒ်တစ်ခုစီသည်ကွဲပြားခြားနားသည်။
အသုံးပြုသူမှတ်တမ်းများ 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 တန်ဖိုးသည်ကွဲပြားခြားနားသည်။
Crypt () သည် အခြေခံလုံခြုံရေးကိုထောက်ပံ့ပေးနိုင်သော်လည်း PHP သည် Phil_Hash () နှင့် password_verify () ကို 5.5 ကနေအသုံးပြုသည်။ သူတို့ဟာအောက်ခြေမှာ crypt () ကို သုံးနေတုန်းပဲ, ဒါပေမယ့် Encapsulation ဟာပိုပြီးပြီးပြည့်စုံပြီးလုံခြုံမှုရှိတယ်။
သို့သော်အချို့သောကန့်သတ်သောပတ်ဝန်းကျင်တွင် (ထိုကဲ့သို့သောဆားကိုထိန်းချုပ်ရန်လိုအပ်သောဆာဗာများသို့မဟုတ်စနစ်များကဲ့သို့သော) crypt () သည်ထိရောက်သောကိရိယာတစ်ခုဖြစ်နေဆဲပင်။
အထက်ပါအကြောင်းအရာများမှတစ်ဆင့် PHP ၏ crypt () function ကိုအသုံးပြုခြင်းသည်ရိုးရှင်းသောသုံးစွဲသူစနစ်ကိုလျင်မြန်စွာတည်ဆောက်နိုင်သည်ကိုကျွန်ုပ်တို့တွေ့နိုင်သည်။
စကားဝှက်များကိုစာဝှက်ပြီးမှတ်ပုံတင်သည့်အခါ၎င်းတို့ကိုသိမ်းဆည်းပါ။
စကားဝှက်များကိုပြန်လည်ဝှက်ပြီး 0 င်သောအခါ logging လုပ်သည့်အခါတူညီသောဆားတန်ဖိုးကိုနှိုင်းယှဉ်ပါ။
encryption cloud ကိုတိုးမြှင့်ခြင်းနှင့်သက်တံ့စားပွဲတင်တိုက်ခိုက်မှုများတားဆီးဖို့ကျပန်းဆားနှင့်အတူပေါင်းစပ်။
Password_Hash () သည် ခေတ်မီစီမံကိန်းများအတွက်ပိုမိုအကြံပြုသော်လည်း,
အခြေခံအသုံးပြုသူစစ်မှန်ပြတ်သားမှုလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်အတွက်အထက်ဖော်ပြပါကုဒ်ကိုသင်၏ 0 က် ဘ ်ဆိုက်စနစ်ထဲသို့ပေါင်းစပ်နိုင်သည်။