လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ၏ Crypt () function ကဘာလဲ။ PHP Crypt () function ကို အခြေခံ. အခြေခံရှင်းပြချက်နှင့်အသေးစိတ်ရှင်းပြချက်

PHP ၏ Crypt () function ကဘာလဲ။ PHP Crypt () function ကို အခြေခံ. အခြေခံရှင်းပြချက်နှင့်အသေးစိတ်ရှင်းပြချက်

M66 2025-05-20

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

1 ။ Crypt () function ကဘာလဲ?

Crypt () သည် PHP တွင် built-in encryption function တစ်ခုဖြစ်သည်။ ကြိုးများကိုစာဝှက်ရန်အသုံးပြုသည်။ ၎င်းသည်တစ်လမ်းတည်းစာဝှက်စနစ် algorithm ကိုအသုံးပြုသည်, ဆိုလိုသည်မှာစာဝှက်ခြင်းရလဒ်သည်နောက်ကြောင်းပြန်လှည့်ခြင်းမရှိသောကြောင့်စကားဝှက်များကဲ့သို့သောအထိခိုက်မခံသောအချက်အလက်များကိုသိုလှောင်ရန်အလွန်သင့်လျော်သည်ဟုဆိုလိုသည်။

PHP သည် password_hash () နှင့် Hash () ကဲ့သို့သောခေတ်မီစာဝှက်ခြင်းနည်းလမ်းများသည် password () နှင့် hash () သည် crypt () အလုပ်လုပ်ပုံကိုနားလည်ခြင်းသည် developer များကစာဝှက်စနစ်၏အခြေခံကိုကျွမ်းကျင်သည်။

2 ။ crypt () function ကို၏ syntax

 string crypt ( string $string [, string $salt ] )
  • $ string : စာဝှက်ရန်လိုအပ်သည့်မူရင်း string ကို။

  • $ ဆား - encryption အတွက်အသုံးပြုသော "ဆားတန်ဖိုး" ကိုသတ်မှတ်ခြင်း, optional parameter သည်။ မတူညီသောဆားတန်ဖိုးများနှင့် algorithms သည်နောက်ဆုံးစာဝှက်စနစ်ကိုအကျိုးသက်ရောက်လိမ့်မည်။

3 ။ encryption algorithm အမျိုးအစား

သင်ပေးထားသောဆားတန်ဖိုးပုံစံပေါ် မူတည်. crypt () function သည်စာဝှက်စနစ်အယ်လ်ဂိုရော်များစွာကိုထောက်ပံ့သည်။ အောက်ဖော်ပြပါများသည်များသောအားဖြင့်အသုံးပြုသောဆားတန်ဖိုးပုံစံများနှင့်၎င်းတို့၏သက်ဆိုင်ရာ algorithms များဖြစ်သည်။

  1. des (ပုံမှန်)

     crypt('mypassword', 'rl');
    
  2. MD5

     crypt('mypassword', '$1$usesomesalt$');
    
  3. လေ

     crypt('mypassword', '$2y$10$abcdefghijklmnopqrstuv');
    
  4. Sha-256

     crypt('mypassword', '$5$rounds=5000$anexamplestringforsalt$');
    
  5. Sha-512

     crypt('mypassword', '$6$rounds=5000$anexamplestringforsalt$');
    

4 ။ ဥပမာ - စကားဝှက်များကိုစာဝှက်ရန် blowfish ကိုသုံးပါ

 <?php
$password = 'secure123';
$salt = '$2y$10$usesomesillystringforex$';
$hashed = crypt($password, $salt);

echo $hashed;
?>

output ရလဒ်သည်စာဝှက်ထားသောကြိုးကြိုးတစ်ချောင်းဖြစ်သည်။ နောက်တဖန်ကွပ်မျက်ခံရလျှင်ပင်ရလဒ်သည်အသုံးပြုသူမှတ်တမ်းများနှင့်အတည်ပြုသည့်အခါစကားဝှက်နှိုင်းယှဉ်ချက်အတွက်သင့်လျော်သည်။

5 ။ စကားဝှက်ကိုဘယ်လိုအတည်ပြုမလဲ။

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

 <?php
$input_password = 'secure123';
$stored_hash = '$2y$10$usesomesillystringforex$JeW8SuJSvSpEtBCUJ8JXoeK1G5Lmbl9Hz7tpIdAd4wczP8t9UO1nO';

if (crypt($input_password, $stored_hash) === $stored_hash) {
    echo 'စကားဝှက်ကိုစစ်ဆေးခြင်းအောင်မြင်ခဲ့သည်';
} else {
    echo 'စကားဝှက်';
}
?>

6 ။ မှတ်စုဖို့အရာ

  • Crypt () ကိုအသုံးပြုပြီးသောအခါ,

  • Crypt () သည် ဆားတန်ဖိုးများကိုအလိုအလျောက်ထုတ်လုပ်လိမ့်မည်မဟုတ်, developer များကသူတို့ကိုလက်ဖြင့်ဖြတ်သန်းရန်လိုအပ်သည်။

  • PHP 5.3 သည် Algorithms အတွက်အထောက်အပံ့များ ကို တိုးတက်စေပြီး,

7 ။ အသုံးပြုသူမှတ်ပုံတင်ခြင်းအတွက်အသုံးပြုသည်။ အမှန်တကယ်အခြေအနေများနှင့်ပေါင်းစပ်သည်

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

 <?php
$password = 'mypassword';
$salt = '$2y$10$' . substr(strtr(base64_encode(random_bytes(16)), '+', '.'), 0, 22);
$hash = crypt($password, $salt);

// သေတမ်းစာ $hash ဒေတာဘေ့စ်ကိုသိမ်းပါ
echo 'အောင်မြင်စွာမှတ်ပုံတင်,encryption password ကိုဖြစ်ပါတယ်:' . $hash;
?>

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

Crypt () PHP မှပေးသောအားကောင်းသော encryption function ကိုဖြစ်ပါတယ်။ ကွဲပြားခြားနားသောဆားတန်ဖိုးပုံစံများကိုထောက်ပံ့ခြင်းအားဖြင့် encryption algorithms မျိုးစုံ strings တွေကို encrypt လုပ်ဖို့အသုံးပြုနိုင်ပါတယ်။ Password_Hash () "Password Security ကိုကိုင်တွယ်ရန် password_hash () ကိုအသုံးပြုခြင်းကဲ့သို့သောလုပ်ဆောင်မှုများကိုခေတ်သစ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်ကိုင်တွယ်ရန် Crypt ၏ယန္တရားကိုနားလည်ရန်အကြံပြုသည်။

Crypt () သင်စိတ်ကြိုက် algorithm တစ်ခုသို့မဟုတ်စီမံကိန်းဟောင်းများနှင့်လိုက်ဖက်ရန်လိုအပ်သည့်အခါအရေးကြီးသောအခန်းကဏ် plays မှပါ 0 င်နေဆဲဖြစ်သည်။ ၎င်းသည် login system တစ်ခုတည်ဆောက်ခြင်းရှိမရှိ, အထိခိုက်မခံသောအချက်အလက်များသို့မဟုတ်ထုတ်ယူခြင်းဆိုင်ရာစစ်ဆေးမှုယန္တရားများကိုသိုလှောင်ထားခြင်းရှိမရှိ, စာဝှက်ခြင်းလုပ်ဆောင်ချက်များကိုဆင်ခြင်တုံတရား၏ဆင်ခြင်တုံတရားအသုံးပြုမှုသည်အမြဲတမ်း 0 က်ဘ်ဆိုက်လုံခြုံရေးအတွက်အမြဲတမ်းအသုံးမပြုနိုင်ပါ။