လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> parameter paretsing နှင့် crypt () function ကိုအသုံးပြုခြင်းဥပမာ

parameter paretsing နှင့် crypt () function ကိုအသုံးပြုခြင်းဥပမာ

M66 2025-05-22

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

1 ။ Sendpt () function ကိုမိတ်ဆက်

Crypt () သည် PHP တွင် built-in encryption function တစ်ခုဖြစ်ပြီး Unix ၏ Crypt () function ကို အခြေခံ. အကောင်အထည်ဖော်သည်။ ၎င်းသည် input string ကို encrypt လုပ်ပြီးစာဝှက်ထားတဲ့ string ကိုပြန်ပို့ရန်ကွဲပြားခြားနားသော encryption algorithms (des, MD5, Blowfish, Sha-256, Sha-256) ကိုအသုံးပြုသည်။

function ရှေ့ပြေးပုံစံ:

 string crypt ( string $str [, string $salt ] )
  • $ str : စာဝှက်ရန်လိုအပ်သည့် string တစ်ခု, များသောအားဖြင့်စကားဝှက်တစ်ခု။

  • $ ဆား (optional ကို) - encryption algorithm နှင့်ဆား string ကိုသတ်မှတ်ရန်အသုံးပြုသည်။ ကွဲပြားခြားနားသောဆားများသည် encryption algorithm နှင့်ရလဒ်များကိုဆုံးဖြတ်ရန်။

2 ။ parameter ကို crypt ၏ ()

1 ။ string ကို parameter သည် $ str

၎င်းသည်စာဝှက်ရန် plaintext string တစ်ခုဖြစ်ပြီးများသောအားဖြင့်အသုံးပြုသူ၏စကားဝှက်ဖြစ်သည်။

2 ။ ဆား parameter သည် $ ဆား

ဆားဆိုင်ရာသတ်မှတ်ချက်များသည် encryption algorithm နှင့်ရလဒ်များကိုဆုံးဖြတ်ရန်သော့ချက်ဖြစ်သည်။ မတူညီသောဆားပုံစံများသည်မတူညီသော algorithms ကိုကိုယ်စားပြုသည်။

  • des des des des encryption <br> ဇာတ်ကောင် 2 လုံးနှင့်ဆားဖြင့်ဆား - "AB"
    ၎င်းသည်မူလစာဝှက်စနစ်နည်းလမ်းဖြစ်ပြီးအားနည်းသောလုံခြုံရေးနှင့်အကြံပြုထားခြင်းမရှိပါ။

  • MD5 encryption <br> <br> $ 1 $ 1 ဖြင့်စတင်ပါ။ ဥပမာအားဖြင့် "ဒေါ်လာ 1 ဒေါ်လာ $ m66Net12 $"
    ဤသည် MD5 algorithm ကို သုံး. encrypt လုပ်ထားသည်။

  • blowfish encryption <br> <br> $ 2A $ 2Y $ 2Y $ , $ 2B $ စသည်တို့ဖြင့်စတင်ပါ။ ဥပမာအားဖြင့် ဒေါ်လာ 2Y $ 10 $ m66netetsaltsaltsaltsaltsa $ 2Y $ 10 ဒေါ်လာ m66Netetsaltsaltsaltssa မှဒေါ်လာ 21 ဒေါ်လာဖြင့်ဂဏန်း 2 လုံးဖြင့်ပြုလုပ်ပါ။
    Blowish သည်အတော်လေးလုံခြုံသော algorithm တစ်ခုဖြစ်သည်။

  • Sha-256 encryption <br> $ 5 $ 5 ဒေါ်လာ နှင့်ဆားဖြင့်စတင်ပါ။ ဥပမာ - "$ 5 $ m66Net $"

  • Sha-512 encryption <br> $ 6 $ $ 6 နှင့်ဆားဖြင့်စတင်ပါ။ ဥပမာ - "$ 6 $ m66Net $"

3 ။ ဥပမာ - ဆားပုံစံ

 // MD5 ဆားဥပမာ
$salt_md5 = '$1$m66net12$';

// Blowfish ဆားဥပမာ,10 ဒါဟာကုန်ကျစရိတ်အချက်ပဲ(cost factor)
$salt_blowfish = '$2y$10$m66netsaltsaltsaltsa$';

// SHA-256 ဆားဥပမာ
$salt_sha256 = '$5$m66net$';

// SHA-512 ဆားဥပမာ
$salt_sha512 = '$6$m66net$';

3 ။ crypt ဥပမာ ()

အောက်ဖော်ပြပါအချက်များသည် crypt () function ကို အသုံးပြု. ကြိုးများကိုစာဝှက်ရန်ပုံပြရန်ဥပမာအနည်းငယ်ဖြစ်သည်။

1 ။ ပုံမှန် des des encryption ကိုသုံးပါ (မထောက်ခံပါ)

 $password = "mypassword";
$salt = "m6";  // 2ဆားဆား
$hashed = crypt($password, $salt);
echo "DESencryption ကိုရလဒ်များ:" . $hashed;

2 ။ MD5 နှင့်စာဝှက်ခြင်း

 $password = "mypassword";
$salt = '$1$m66net12$';  // ဖြင့် $1$ အစအ ဦး မှာဆား
$hashed = crypt($password, $salt);
echo "MD5encryption ကိုရလဒ်များ:" . $hashed;

3 ။ blowfish နှင့်အတူစာဝှက်

 $password = "mypassword";
$salt = '$2y$10$m66netsaltsaltsaltsa$';  // Blowfish,ပေးရ10
$hashed = crypt($password, $salt);
echo "Blowfishencryption ကိုရလဒ်များ:" . $hashed;

4 ။ Sha-512 နှင့်စာဝှက်ခြင်း

 $password = "mypassword";
$salt = '$6$m66net$';
$hashed = crypt($password, $salt);
echo "SHA-512encryption ကိုရလဒ်များ:" . $hashed;

4 ။ စကားဝှက်အတည်ပြုဥပမာ

စကားဝှက်ကိုစာဝှက်ပြီးတဲ့နောက်မှာတော့ထည့်သွင်းထားတဲ့စကားဝှက်ကို calcrypt လုပ်ပြီးတဲ့အခါ,

 // စကားဝှက် hash သည်ဒေတာဘေ့စ်တွင်သိမ်းဆည်းထားကြောင်းယူဆပါ
$stored_hash = '$6$m66net$........';  // 从数据库取出的encryption ကိုရလဒ်များ

// အသုံးပြုသူသည်အသုံးပြုသူ log in လုပ်သည့်အခါစကားဝှက်ကိုရိုက်ထည့်ပါ
$input_password = "mypassword";

// ဆားကိုဖယ်ရှားပါ,ထုံးစံအားဖြင့် stored_hash ပထမ ဦး ဆုံးအစိတ်အပိုင်းအနည်းငယ်,တိကျတဲ့အရှည် algorithm အပေါ်မူတည်သည်
$salt = substr($stored_hash, 0, strrpos($stored_hash, '$') + 1);

// စကားဝှက်ကိုတူညီသောဆားဖြင့်ပြန်လည်ပြင်ဆင်ပါ
$input_hash = crypt($input_password, $salt);

if ($input_hash === $stored_hash) {
    echo "စကားဝှက်ကိုစစ်ဆေးခြင်းအောင်မြင်ခဲ့သည်";
} else {
    echo "စကားဝှက်ကိုစစ်ဆေးခြင်းမအောင်မြင်ပါ";
}

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

  • Crypt () လုပ်ဆောင်ချက်သည် encryption algorithms အမျိုးမျိုးကိုထောက်ပံ့သည်။

  • Blowfish ( $ 2Y $ 2Y $ ) သို့မဟုတ် Sha-512 ( $ 6.2 ) algorithm ကိုအသုံးပြုရန်အကြံပြုသည်။

  • ဆားသည်ကျပန်းနှင့်ထူးခြားသောဖြစ်ရမည်။ မှန်ကန်သောပုံစံဖြင့်ဖြစ်ရမည်။

  • စကားဝှက်ကိုစစ်ဆေးအတည်ပြုသည့်အခါစကားဝှက်ကိုစာဝှက်ထားသည့် hash တန်ဖိုးရှိဆားကို အသုံးပြု. စာဝှက်ပြီးနှိုင်းယှဉ်ပါ။