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

PHP ဗားရှင်းများအပေါ် crypt () ၏အပြုအမူကွဲပြားခြားနားမှု

M66 2025-05-22

PHP မှ crypt () function သည် strings (များသောအားဖြင့်စကားဝှက်များ) encrypt လုပ်ရန်အဓိက function တစ်ခုဖြစ်သည်။ ၎င်းသည်စနစ်၏အခြေခံစာဝှက်စနစ် algorithm နှင့်စကားဝှက်များကိုလုံခြုံစိတ်ချရသောသိုလှောင်မှုနှင့်စကားဝှက်များကိုစစ်ဆေးရန် input string ကိုအခြေခံသည်။ Crypt () function ၏အခြေခံအသုံးပြုမှုနှင့်ရည်ရွယ်ချက်သည် PHP ဗားရှင်းများ၌တသမတ်တည်းဖြစ်သော်လည်း၎င်း၏ပြည်တွင်းအကောင်အထည်ဖော်မှုတွင်အရေးပါသောကွဲပြားခြားနားမှုများရှိပြီး PHP နှင့် operating system versions အဖြစ် algorithms ကိုထောက်ပံ့သည်။ ဤကွဲပြားခြားနားမှုများသည် password security security security security နှင့် application compatibility ကိုတိုက်ရိုက်အကျိုးသက်ရောက်သည်။

1 ။ Crypt () function ကို၏အခြေခံအသုံးပြုမှုကိုပြန်လည်သုံးသပ်

crypt () parameters နှစ်ခုကိုလက်ခံသည်။

 $hashed_password = crypt($password, $salt);
  • $ စကားဝှက် သည် plaintext password သို့မဟုတ် string တစ်ခုဖြစ်ပါတယ်။

  • $ ဆားကို encryption algorithm ၏ဆားတန်ဖိုးကိုထိန်းချုပ်ရန်အသုံးပြုသည်။ ကွဲပြားခြားနားသောပုံစံများ encryption algorithm ၏ရွေးချယ်မှုကိုဆုံးဖြတ်ရန်။

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

2 ။ ကွဲပြားခြားနားသော PHP ဗားရှင်းများတွင် crypt () ၏အပြုအမူကွဲပြားမှု

1 ။ encryption algorithms ၏ထောက်ခံမှုအကွာအဝေးကွဲပြားခြားနားသည်

  • အစောပိုင်း PHP ဗားရှင်း (PHP 4.x, PHP 5.2)

    • System မှပေးထားသောစံသတ်မှတ်ထားသော des encryption ကိုသာ (56-bit keys အပေါ် အခြေခံ. ဆားသည်စာလုံးရေ 2 လုံးဖြစ်သည်),

    • အကယ်. ထောက်ပံ့ပေးသောဆားပုံစံသည်မမှန်ကန်ပါက Crypt () သည် des des encryption ကို အသုံးပြု. ယိုယွင်းလိမ့်မည်။

  • PHP 5.3 နှင့်ကျော်လွန်ပြီး

    • MD5 ကဲ့သို့သောခေတ်မီစာဝှက်စနစ်နှင့် MD5 ကဲ့သို့သော Modern encryithms (ဆားပုံစံသည် ဒေါ်လာ 1 ဒေါ်လာ ဖြင့်စတင်သည်),

    • Blowish ကိုထောက်ပံ့သည် (PHP ဗားရှင်းပေါ်တွင် မူတည်. ဆားပုံစံဖြင့် ဒေါ်လာ 2 ဒေါ်လာ ဖြင့် ဒေါ်လာ 2 ဒေါ်လာဖြင့်ဒေါ်လာ 2 ဒေါ်လာ ဖြင့်စတင်သည်),

    • SHA-256 ( $ 5 $ ) နှင့် Sha-512 (SHA-512) နှင့် Sha-512 ( $ 612 ) ကဲ့သို့သော algorithms များကို operating system's Libc စာကြည့်တိုက်ပံ့ပိုးမှုပေးသည်။

  • PHP 7.x

    • Blowfish Support ကိုဆက်လက်တိုးတက်အောင်ဆက်လက်ပြုလုပ်ရန်နှင့်သမိုင်းတွင်လုံခြုံရေးအားနည်းချက်များကိုဆက်လက်ပြင်ဆင်ပါ (ဥပမာ $ 2A $ ၏သက်ရောက်မှုအဖြစ်)

    • PHP 7.3 နောက်ပိုင်းတွင် $ 2Y $ tag, ပိုမိုလုံခြုံသော blowish ဗားရှင်းကိုမိတ်ဆက်ခဲ့သည်။

    • မတူညီသောစနစ်များအတွက်အထောက်အပံ့သည်ပိုမိုမြင့်မားပြီး algorithms ပိုမိုများပြားလာသည်။

  • PHP 8.x

    • အထက်ပါ algorithms များအတွက်ထောက်ခံမှုကိုထိန်းသိမ်းရန်နှင့်လုံခြုံရေးနှင့်လိုက်ဖက်တဲ့ကိုအာရုံစိုက်ပါ။

    • PHP ၏ဇာတိစကားဝှက် hash functions passwords passwords password_hash () နှင့် password_verify ()) ကို အသုံးပြုရန်အကြံပြုသည်။ သို့သော် crypt () သည်ရရှိနိုင်ဆဲဖြစ်သည်။

2 ။ ကွဲပြားခြားနားသော operating systems crypt () ပံ့ပိုးမှုအပေါ်သက်ရောက်မှု

Crypt () function သည် encryption operation ကိုပြီးစီးရန်အတွက် operating system ၏ Libc စာကြည့်တိုက် (GNU Libc Libc Libc) တွင်ပါ 0 င်သည်။

  • Supported Algorithms သည်မတူညီသော operating systems များရှိ PHP ဗားရှင်း (Linux, Freebsd, Windows) တွင်လုံးလုံးလျားလျားအစဉ်မပြတ်တသမတ်တည်းမဖြစ်နိုင်ပါ။

  • Crypt () 0 င်းဒိုးတွင်ပံ့ပိုးမှုသည်အလွန်အကန့်အသတ်ဖြင့်သာဖြစ်ပြီးများသောအားဖြင့်ရိုးရာ des encryption ကိုသာထောက်ပံ့သည်။

  • Linux သည် libc ဗားရှင်းပေါ် မူတည်. algorithms မျိုးစုံကိုထောက်ပံ့သည်။

iii ။ လျှောက်လွှာအပေါ်ဤကွဲပြားခြားနားမှုများ၏သက်ရောက်မှု

1 ။ စကားဝှက်လုံခြုံရေး

ကွဲပြားခြားနားသော encryption algorithms အကြားလုံခြုံရေး၌ကြီးမားသောကွာဟမှုရှိပါတယ်။ အစောပိုင်း des encryption algorithms အလွယ်တကူအက်ကွဲနိုင်ပြီးထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အသုံးမ 0 င်သင့်ပါ။ PHP ဗားရှင်းနှင့် operating systems shifish, sha-512 ကဲ့သို့သော algorithms (sha-512) ကိုထောက်ပံ့သော PHP ဗားရှင်းစနစ်များသည်စကားဝှက်သိုလှောင်မှု၏လုံခြုံရေးကိုများစွာတိုးတက်စေနိုင်သည်။

2 ။ Code နဲ့လိုက်ဖက်တဲ့နှင့်သယ်ဆောင်ရလွယ်ကူခြင်း

  • အကယ်. application သည် crypt () ပေါ်တွင်မူတည်ပါက, PHP ဗားရှင်းကိုအဆင့်မြှင့်တင်ခြင်းသို့မဟုတ် operating system ကိုအဆင့်မြှင့်တင်သည့်အခါ php ဗားရှင်းကိုအဆင့်မြှင့်တင်သည့်အခါ php phivage ကိုအဆင့်မြှင့်တင်သည့်အခါ php ဗားရှင်းကိုအဆင့်မြှင့်တင်ခြင်းအတွက်စကားဝှက်စစ်ဆေးခြင်းပျက်ကွက်မှုဖြစ်ပေါ်နိုင်သည်။

  • ဥပမာအားဖြင့်စနစ်ဟောင်းသည်လူဝင်မှုကြီးကြပ်ရေးအပြီးတွင် SHA-512 ဖြစ်လာသည်။ ပြောင်းရွှေ့ပြီးနောက် SHA-512 ဖြစ်လာသည်။

  • ထို့ကြောင့် application တွင်ဆားပုံစံကိုအတိအလင်းဖော်ပြရန်သို့မဟုတ်ပိုမိုခေတ်မီသောစကားဝှက်ထုတ်လုပ်မှု interface ကိုချမှတ်ရန်အကြံပြုသည်။

3 ။ အကြံပြုထားသောအခြားနည်းလမ်းများ

PHP အရာရှိက PHP အရာရှိ Phild_Hash () နှင့် passwordyify) ကိုဗားရှင်း 5.5 တွင်ဖော်ပြထားသည်။ စကားဝှက်စာဝှက်ခြင်းနှင့်စိစစ်အတည်ပြုခြင်းအသေးစိတ်ကို encapsuling:

 $hash = password_hash($password, PASSWORD_DEFAULT);  // ပုံမှန်အားဖြင့်အသုံးပြုခဲ့သည် bcrypt
if (password_verify($password, $hash)) {
    echo "စကားဝှက်ကိုစစ်ဆေးခြင်းအောင်မြင်ခဲ့သည်";
}
  • ဤ interface တွင်ကောင်းမွန်သောလိုက်ဖက်မှုနှင့်လုံခြုံမှုရှိပြီးလုံခြုံမှုရှိပြီးလုံခြုံစိတ်ချရသော algorithm ကိုအလိုအလျောက်ရွေးချယ်နိုင်သည်။

  • Crypt () ကို တိုက်ရိုက်အသုံးပြုခြင်း၏ရှုပ်ထွေးမှုနှင့်လိုက်ဖက်တဲ့ပြ issues နာများကိုရှောင်ကြဉ်ပါ။

  • အနာဂတ်ဗားရှင်းများတွင်ဤဖြေရှင်းချက်ကို crypt () ကို တိုက်ရိုက်ခေါ်ဆိုမည့်အစားအကြံပြုသည်။

4 ။ နမူနာကုဒ်သရုပ်ပြ

အောက်ပါဥပမာသည် crypt () ကို မတူညီသောဆားများဖြင့်မည်သို့ခေါ်ဆိုရမည်ကိုပြသပြီးစာဝှက်သောရလဒ်များတွင်ကွဲပြားခြားနားမှုများကိုဖော်ပြသည်။