PHP ကျူတိုရီရယ်

PHP ပင်မစာမျက်နှာ PHP မိတ်ဆက် PHP ထည့်သွင်းပါ။ PHP Syntax PHP မှတ်ချက်များ PHP Variables များ PHP Echo / Print PHP Data အမျိုးအစားများ PHP စာတန်းများ PHP နံပါတ်များ PHP သင်္ချာ PHP Constants PHP Operator များ PHP If...Else...Elseif PHP Switch PHP Loops PHP လုပ်ဆောင်ချက်များ PHP Arrays PHP Superglobals PHP RegEx

PHP Forms

PHP Form ကိုင်တွယ်ခြင်း။ PHP Form Validation PHP Form လိုအပ်ပါသည်။ PHP Form URL/E-mail PHP Form ပြီးပါပြီ။

PHP အဆင့်မြင့်

PHP နေ့စွဲနှင့် အချိန် PHP ပါဝင်ပါတယ်။ PHP ဖိုင်ကိုင်တွယ်ခြင်း PHP ဖိုင်ကို ဖွင့်/ဖတ်ပါ။ PHP ဖိုင်ကို ဖန်တီး/ရေးပါ။ PHP ဖိုင်ကို တင်ခြင်း။ PHP Cookies PHP စက်ရှင်များ PHP Filters PHP Filters Advanced PHP ပြန်ခေါ်ခြင်းလုပ်ဆောင်ချက်များ PHP JSON PHP ခြွင်းချက်

PHP OOP

PHP OOP ဆိုတာဘာလဲ PHP အတန်းများ/အရာဝတ္ထုများ PHP Constructor PHP Destructor PHP Access Modifiers PHP Inheritance PHP Constants PHP Abstract အတန်းများ PHP မျက်နှာပြင်များ PHP လက္ခဏာများ PHP Static Methods PHP Static Properties PHP Namespaces PHP Iterables

MySQL ဒေတာဘေ့စ်

MySQL ဒေတာဘေ့စ် MySQL ချိတ်ဆက်မှု MySQL သည် DB ကိုဖန်တီးပါ။ MySQL ဇယားဖန်တီးပါ။ MySQL သည် Data ကိုထည့်သွင်းပါ။ MySQL နောက်ဆုံး ID ကိုရယူပါ။ MySQL တွင် Multiple ထည့်သွင်းပါ။ MySQL ပြင်ဆင်ထားသည်။ MySQL Data ကို ရွေးပါ။ MySQL ဘယ်မှာလဲ။ MySQL Order By MySQL က Data တွေကို ဖျက်လိုက်ပါ။ MySQL အပ်ဒိတ်ဒေတာ MySQL ကန့်သတ်ဒေတာ

PHP XML

PHP XML ပါဆာများ PHP SimpleXML Parser PHP SimpleXML - ရယူပါ။ PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX နိဒါန်း AJAX PHP AJAX ဒေတာဘေ့စ် AJAX XML AJAX တိုက်ရိုက်ရှာဖွေမှု AJAX စစ်တမ်း

PHP ဥပမာများ

PHP ဥပမာများ PHP Compiler PHP Quiz PHP လေ့ကျင့်ခန်းများ PHP Certificate

PHP အ ကိုးအကား

PHP ခြုံငုံသုံးသပ်ချက် PHP Array PHP ပြက္ခဒိန် PHP နေ့စွဲ PHP လမ်းညွှန် PHP အမှား PHP ခြွင်းချက် PHP ဖိုင်စနစ် PHP Filter PHP FTP PHP JSON PHP သော့ချက်စာလုံးများ PHP Libxml PHP Mail PHP သင်္ချာ PHP ထွေ PHP MySQLi PHP ကွန်ရက် PHP Output Control PHP RegEx PHP SimpleXML PHP Stream PHP String PHP Variable ကိုင်တွယ်ခြင်း။ PHP XML Parser PHP Zip PHP အချိန်ဇုန်များ

PHP crypt() လုပ်ဆောင်ချက်


❮ PHP String အကိုးအကား

အဓိပ္ပါယ်နှင့် အသုံးပြုမှု

crypt() လုပ်ဆောင်ချက်သည် DES၊ Blowfish သို့မဟုတ် MD5 algorithms ကို အသုံးပြု၍ hashed string တစ်ခုကို ပြန်ပေးသည်။

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

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

crypt() function နဲ့တွဲသုံးတဲ့ constants တွေရှိပါတယ်။ ထည့်သွင်းသောအခါတွင် ဤကိန်းသေများ၏တန်ဖိုးကို PHP မှသတ်မှတ်သည်။

ကိန်းသေများ-

  • [CRYPT_STD_DES] - "./0-9A-Za-z" အက္ခရာမှ အက္ခရာဆား နှစ်လုံးပါသည့် Standard DES အခြေပြု hash။ ဆားတွင် မမှန်ကန်သော စာလုံးများကို အသုံးပြုခြင်းသည် ဤလုပ်ဆောင်ချက်ကို ပျက်ကွက်စေမည်ဖြစ်သည်။
  • [CRYPT_EXT_DES] - အက္ခရာကိုးလုံးပါရှိသော ဆားဖြင့် တိုးချဲ့ထားသော DES အခြေခံ hash နှင့် နောက်တွင် အထပ်ပေါင်း 4 bytes နှင့် ဆား 4 bytes တို့ဖြင့် အောက်တန်းကျသည်။ ၎င်းတို့ကို ပုံနှိပ်နိုင်သော အက္ခရာများအဖြစ် ကုဒ်နံပါတ်၊ အက္ခရာတစ်ခုလျှင် 6 bits၊ အနည်းဆုံး သိသာထင်ရှားသော အက္ခရာများကို ဦးစွာ ကုဒ်လုပ်ထားပါသည်။ 0 မှ 63 တန်ဖိုးများကို "./0-9A-Za-z" အဖြစ် ကုဒ်လုပ်ထားသည်။ ဆားတွင် မမှန်ကန်သော စာလုံးများကို အသုံးပြုခြင်းသည် လုပ်ဆောင်ချက်ကို ပျက်ကွက်စေသည်။
  • [CRYPT_MD5] - $1$ မှ စတင်သည့် ဆား 12 လုံးဖြင့် MD5 ကို ပေါင်းထားသည်။
  • [CRYPT_BLOWFISH] - $2a$၊ $2x$ သို့မဟုတ် $2y$၊ ဂဏန်းနှစ်လုံးတန်ဖိုးသတ်မှတ်ချက် "$" နှင့် အက္ခရာ "./0-9A-Za-z" တို့မှ စာလုံး 22 လုံးဖြင့် စတင်ဆားဖြင့် Blowfish ဖြင့် နှပ်ထားသော Blowfish . အက္ခရာ၏အပြင်ဘက်ရှိ ဇာတ်ကောင်များကို အသုံးပြုခြင်းဖြင့် ဤလုပ်ဆောင်ချက်သည် သုညအလျား စာကြောင်းကို ပြန်ဖြစ်စေသည်။ "$" ပါရာမီတာသည် အရင်းခံ Blowfish-bashed hashing algorithm အတွက် ထပ်လောင်းရေတွက်ခြင်း၏ အခြေခံ-2 လော့ဂရစ်သမ်ဖြစ်ပြီး အပိုင်းအခြား 04-31 အတွင်း ဖြစ်ရပါမည်။ ဤဘောင်အပြင်ဘက်ရှိ တန်ဖိုးများသည် လုပ်ဆောင်ချက်ကို ပျက်ကွက်စေမည်ဖြစ်သည်။
  • [CRYPT_SHA_256] - $5$ မှစတင်၍ ဆား 16 လုံးပါသော SHA-256 hash ဆားစာကြောင်းသည် "rounds=<N>$" ဖြင့် စတင်ပါက၊ N ၏ ဂဏန်းတန်ဖိုးကို Blowfish ရှိ ကုန်ကျစရိတ် ကန့်သတ်ချက်ကဲ့သို့ ကိန်းဂဏာန်းအကြိမ်အရေအတွက် မည်မျှလုပ်ဆောင်သင့်သည်ကို ညွှန်ပြရန်အတွက် အသုံးပြုသည်။ ပုံသေ အကြိမ်အရေအတွက်သည် 5000 ဖြစ်ပြီး အနည်းဆုံး 1000 နှင့် အများဆုံး 999,999,999 ရှိသည်။ ဤအပိုင်းအခြားပြင်ပရှိ N ၏ရွေးချယ်မှုမှန်သမျှကို အနီးဆုံးကန့်သတ်ချက်သို့ ဖြတ်တောက်မည်ဖြစ်သည်။
  • [CRYPT_SHA_512] - $6$ မှစတင်၍ ဆား 16 လုံးပါသော SHA-512 hash ဆားစာကြောင်းသည် "rounds=<N>$" ဖြင့် စတင်ပါက၊ N ၏ ဂဏန်းတန်ဖိုးကို Blowfish ရှိ ကုန်ကျစရိတ် ကန့်သတ်ချက်ကဲ့သို့ ကိန်းဂဏာန်းအကြိမ်အရေအတွက် မည်မျှလုပ်ဆောင်သင့်သည်ကို ညွှန်ပြရန်အတွက် အသုံးပြုသည်။ ပုံသေ အကြိမ်အရေအတွက်သည် 5000 ဖြစ်ပြီး အနည်းဆုံး 1000 နှင့် အများဆုံး 999,999,999 ရှိသည်။ ဤအပိုင်းအခြားပြင်ပရှိ N ၏ရွေးချယ်မှုမှန်သမျှကို အနီးဆုံးကန့်သတ်ချက်သို့ ဖြတ်တောက်မည်ဖြစ်သည်။

ဤလုပ်ဆောင်ချက်အများအပြား algorithms ကိုပံ့ပိုးပေးသည့်စနစ်များတွင်၊ အထက်ဖော်ပြပါကိန်းသေများကို ပံ့ပိုးထားပါက "1" နှင့် အခြားနည်းဖြင့် "0" ဟုသတ်မှတ်ထားသည်။

မှတ်ချက်- စာဝှက်စနစ် မရှိပါ။ crypt() function သည် one-way algorithm ကိုအသုံးပြုသည်။


အထားအသို

crypt(str,salt)

ကန့်သတ်တန်ဖိုးများ

Parameter Description
str Required. Specifies the string to be hashed
salt Optional. A salt string to base the hashing on


နည်းပညာဆိုင်ရာအသေးစိတ်

ပြန်ပို့တန်ဖိုး- ကုဒ်သွင်းထားသော စာကြောင်း သို့မဟုတ် စာလုံး 13 လုံးထက် ပိုတိုသော စာကြောင်းကို ပြန်ပေးကာ ပျက်ကွက်မှုတွင် ဆားနှင့် ကွဲပြားကြောင်း အာမခံသည်
PHP ဗားရှင်း- 4+
ပြောင်းလဲမှုမှတ်တမ်း- PHP 5.6.0 - ဆား ကို ချန်လှပ်ထား လျှင် E_NOTICE လုံခြုံရေးသတိပေးချက်ကို ပြ သသည်။
PHP 5.3.7 - $2x$ နှင့် $2y$ Blowfish မုဒ်များကို ထည့်ထားသည်။
PHP 5.3.2 - SHA-256 နှင့် SHA-512 ကို ထည့်ထားသည်။ မမှန်ကန်သော အလှည့်များတွင် ပြုပြင်ထားသော Blowfish အပြုအမူသည် DES သို့ ပြန်ကျသွားမည့်အစား "ပျက်ကွက်" စာကြောင်း ("*0" သို့မဟုတ် "*1") ကို ပြန်ပေးသည်။
PHP 5.3.0 - ယခု PHP တွင် MD5 crypt၊ Standard DES၊ Extended DES နှင့် Blowfish အယ်လဂိုရီသမ်များအတွက် ၎င်း၏ကိုယ်ပိုင်အကောင်အထည်ဖော်မှုပါရှိပြီး algorithms တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသောစနစ်အတွက် ပံ့ပိုးမှုမရှိပါက ၎င်းကိုအသုံးပြုမည်ဖြစ်သည်။

နောက်ထပ် ဥပမာများ

ဥပမာ

ဤဥပမာတွင် ကျွန်ုပ်တို့သည် မတူညီသော algorithms များကို စမ်းသပ်ပါမည်။

<?php
// 2 character salt
if (CRYPT_STD_DES == 1)
{
echo "Standard DES: ".crypt('something','st')."\n<br>";
}
else
{
echo "Standard DES not supported.\n<br>";
}

// 4 character salt
if (CRYPT_EXT_DES == 1)
{
echo "Extended DES: ".crypt('something','_S4..some')."\n<br>";
}
else
{
echo "Extended DES not supported.\n<br>";
}

// 12 character salt starting with $1$
if (CRYPT_MD5 == 1)
{
echo "MD5: ".crypt('something','$1$somethin$')."\n<br>";
}
else
{
echo "MD5 not supported.\n<br>";
}

// Salt starting with $2a$. The two digit cost parameter: 09. 22 characters
if (CRYPT_BLOWFISH == 1)
{
echo "Blowfish: ".crypt('something','$2a$09$anexamplestringforsalt$')."\n<br>";
}
else
{
echo "Blowfish DES not supported.\n<br>";
}

// 16 character salt starting with $5$. The default number of rounds is 5000.
if (CRYPT_SHA256 == 1)
{
echo "SHA-256: ".crypt('something','$5$rounds=5000$anexamplestringforsalt$')."\n<br>"; }
else
{
echo "SHA-256 not supported.\n<br>";
}

// 16 character salt starting with $6$. The default number of rounds is 5000.
if (CRYPT_SHA512 == 1)
{
echo "SHA-512: ".crypt('something','$6$rounds=5000$anexamplestringforsalt$');
}
else
{
echo "SHA-512 not supported.";
}
?>

အထက်ဖော်ပြပါ ကုဒ်၏ အထွက်သည် (လည်ပတ်မှုစနစ်ပေါ် မူတည်၍ ဖြစ်နိုင်သည်)။

Standard DES: stqAdD7zlbByI
Extended DES: _S4..someQXidlBpTUu6
MD5: $1$somethin$4NZKrUlY6r7K7.rdEOZ0w.
Blowfish: $2a$09$anexamplestringforsaleLouKejcjRlExmf1671qw3Khl49R3dfu
SHA-256: $5$rounds=5000$anexamplestringf$KIrctqsxo2wrPg5Ag/hs4jTi4PmoNKQUGWFXlVy9vu9
SHA-512: $6$rounds=5000$anexamplestringf$Oo0skOAdUFXkQxJpwzO05wgRHG0dhuaPBaOU/
oNbGpCEKlf/7oVM5wn6AN0w2vwUgA0O24oLzGQpp1XKI6LLQ0.


❮ PHP String အကိုးအကား