Mt_srand သည် PPP တွင် Pseudo -er နံပါတ်မီးစက်၏စတင်လုပ်ဆောင်မှုဖြစ်သည်။ ၎င်းသည်မျိုးစေ့တန်ဖိုးကိုသတ်မှတ်ခြင်းဖြင့်ကျပန်းနံပါတ်မီးစက်ကိုစတင်သည်။ MT_SRADAND ကို MT_RAND တွင်အသုံးပြုလေ့ရှိပြီး Mt_rand သည် Pseudo-downlow နံပါတ်များကိုပြန်ပို့ရန်အသုံးပြုသည်။ MT_SRAUD ကို တူညီသောမျိုးစေ့တန်ဖိုးဖြင့်ပေးသည့်အခါ MT_rand မှရရှိသောကျပန်းနံပါတ် sequence သည်တူညီသောအခြေအနေများအောက်တွင်အလုပ်လုပ်သည့်အခါတိုင်းအတူတူပင်ဖြစ်သည်။
<span><span><span class="hljs-title function_ invoke__">mt_srand</span></span><span>(</span><span><span class="hljs-number">12345</span></span><span>); </span><span><span class="hljs-comment">// ကျပန်းနံပါတ်မီးစက်၏အမျိုးအနွယ်ကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$random_number</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mt_rand</span></span><span>(); </span><span><span class="hljs-comment">// Pseudo-Dript နံပါတ်များကိုထုတ်လုပ်ပါ</span></span><span>
</span></span>
Hash function သည်မည်သည့်အရှည်မှမဆိုအရှည်၏ output ကိုတန်ဖိုးများသို့ input ကို data များကိုပြောင်းလဲပေးသည်။ Hash function ၏ရလဒ်ရလဒ်မှာများသောအားဖြင့်နောက်ကြောင်းပြန်လှည့ ်. မရနိုင်ပါ။ MD5 , Sha1 , Sha256 , စသည်တို့တွင် MD5, Sha1, Sha256 တွင်ပါဝင်သော PHP တွင် PHP သည် developer များအတွက်သုံးစွဲသူများအတွက် built-in Hashing algorithms အမျိုးမျိုးပါဝင်သည်။
<span><span><span class="hljs-variable">$hash_value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">hash</span></span><span>(</span><span><span class="hljs-string">'sha256'</span></span><span>, </span><span><span class="hljs-string">'some input data'</span></span><span>); </span><span><span class="hljs-comment">// အသုံးပြု sha256 algorithm ကိုဆေးကြော</span></span><span>
</span></span>
Hash function သည် input data ၏ကျပန်းကိုဂရုမစိုက်သော်လည်း၎င်း၏ရလဒ်များသည်များသောအားဖြင့်ကျပန်းဖြစ်နေပြီးတူညီသော input data အတွက် hash အတူတူပင် hash ကိုပြန်ပို့သည်။
ထပ်ခါတလဲလဲ cryptographic ကျပန်းတန်ဖိုးများကိုရရှိရန် MT_SRAND နှင့် Hash လုပ်ဆောင်ချက်များကို အသုံးပြု. စဉ်းစားပါ။ အခြေခံအယူအဆတွင် Hash function ကိုအသုံးပြုရန်အတွက် Hash function ကိုအသုံးပြုရန်ဖြစ်သည် (အသုံးပြုသူထည့်သွင်းခြင်း, Timprestps သို့မဟုတ်အခြား variable များကဲ့သို့) Hash တန်ဖိုးကို MT_SRAND ၏အမျိုးအနွယ်အဖြစ်အသုံးပြုပါ။ ဤအချက်သည်တူညီသော input data များအပေါ် အခြေခံ. ကျပန်းနံပါတ် sequence သည်၎င်းသည်ဖွင့်ချိန်တိုင်းနှင့်အတူတူပင်ဖြစ်သည်။
Input Data ကိုရွေးပါ ။ အသုံးပြုသူမှထည့်သွင်းထားသောအချက်အလက်များအနေဖြင့်ထည့်သွင်းထားသော string, time stamp သို့မဟုတ်အခြား variable parameters များကိုသင်ရွေးချယ်နိုင်သည်။
fixed-length hash ကိုထုတ်လုပ်ရန် Hash function ကိုသုံးပါ ။ hash fixed-length hash ရရန် input data ။
hash ကို MT_SRAND အဖြစ်မျိုးစေ့ : MT_SURATE ကို MT_SRAD ကိုဖြတ်သန်းရန် Hash ကိုသင့်တော်သောနံပါတ်သို့ပြောင်းလဲခြင်းဖြင့်စတင်ရန် MT_SRAD သို့ဖြတ်သန်းသည်။
ကျပန်းတန်ဖိုးများကိုထုတ်လုပ်ပါ ။ ကျပန်းနံပါတ်များကိုထုတ်လုပ်ရန် Mt_rand ကို သုံးပါ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// လှမ်း 1: input ကိုဒေတာကိုရွေးပါ</span></span><span>
</span><span><span class="hljs-variable">$input_data</span></span><span> = </span><span><span class="hljs-string">'user_input_123'</span></span><span>; </span><span><span class="hljs-comment">// ဥပမာအားဖြင့်, အသုံးပြုသူတစ် ဦး ကရိုက်ထည့်</span></span><span>
</span><span><span class="hljs-comment">// လှမ်း 2: အသုံးပြု哈希函数生成哈希值</span></span><span>
</span><span><span class="hljs-variable">$hashed_value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">hash</span></span><span>(</span><span><span class="hljs-string">'sha256'</span></span><span>, </span><span><span class="hljs-variable">$input_data</span></span><span>); </span><span><span class="hljs-comment">// အသုံးပြု sha256 algorithm hash ထုတ်ပေး</span></span><span>
</span><span><span class="hljs-comment">// လှမ်း 3: Hash တန်ဖိုးကိုနံပါတ်သို့ပြောင်းပါ,မျိုးစေ့တန်ဖိုးအဖြစ်</span></span><span>
</span><span><span class="hljs-variable">$seed</span></span><span> = </span><span><span class="hljs-title function_ invoke__">hexdec</span></span><span>(</span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$hashed_value</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>)); </span><span><span class="hljs-comment">// အဆိုပါ hash ရတဲ့မီ8နှင့် bits decimal နံပါတ်များကိုပြောင်းရန်</span></span><span>
</span><span><span class="hljs-comment">// လှမ်း 4: အသုံးပြု mt_srand ကျပန်းနံပါတ်မီးစက်စတင်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mt_srand</span></span><span>(</span><span><span class="hljs-variable">$seed</span></span><span>);
</span><span><span class="hljs-comment">// ထပ်ခါတလဲလဲကျပန်းနံပါတ်များကို generate</span></span><span>
</span><span><span class="hljs-variable">$random_number</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mt_rand</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ထုတ်လုပ်ထားသောကျပန်းနံပါတ်: <span class="hljs-subst">$random_number</span></span></span><span>\n";
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Hash Values ၏ processings : ဥပမာကုဒ်နံပါတ်တွင် SHA256 hash algorithm ကို input data hash hash vash ကိုအသုံးပြုသည်။ MT_SRADANT သည် ကိန်းဂဏန်းအမျိုးအစားမျိုးစေ့တစ်ခုလိုအပ်သောကြောင့် Hash တန်ဖိုးသည်များသောအားဖြင့်အလွန်ရှည်လျားသော strings ဖြစ်သည်, ထို့ကြောင့်ကျွန်ုပ်တို့သည်ပထမစာလုံးအနည်းငယ်ကိုသာယူနိုင်သည်။
ပြန်လုပ်နိုင်ခြင်း - တူညီသော input_data ကို ဖြတ်သန်းတိုင်းအချိန်တိုင်းတွင် Hash တန်ဖိုးသည်အတူတူပင်ဖြစ်သည်။ ထို့ကြောင့်ထုတ်လုပ်ထားသောမျိုးစေ့တန်ဖိုးသည်လည်းအတူတူပင်ဖြစ်သည်။ ဤနည်းအားဖြင့် Mt_rand မှထုတ်လုပ်သောကျပန်းနံပါတ်များသည်ထပ်တူအကျိုးသက်ရောက်မှုတစ်ခုရရှိရန်ဖြစ်သည်။
encryption : hash function ကိုအသုံးပြုခြင်းအားဖြင့်ကျပန်းနံပါတ်များကိုထပ်ခါတလဲလဲပြောဆိုခြင်းကိုပြုလုပ်နိုင်သည်ရှိသော် hash ကိုယ်တိုင်ကကြိုတင်ခန့်မှန်းနိုင်မှုနှင့်ရှုပ်ထွေးမှုအတိုင်းအတာကိုပေးသည်။ ထို့ကြောင့်, hash function ကိုပေါင်းစပ်ပြီးနောက်ကျပန်းနံပါတ်မျိုးဆက်ထပ်ခါတလဲလဲမသာဖြစ်ရုံသာမက encryption ၏အတိုင်းအတာကိုလည်းပါ။
ထပ်ခါတလဲလဲစမ်းသပ်ဒေတာမျိုးဆက်သစ်အတွက်သင့်တော်သည် ။
အစစ်အမှန်စာဝှက်ခြင်းအတွက်မသင့်တော်ပါ ။ Hash fatchings ကိုအသုံးပြုနေစဉ်ကျပန်းနံပါတ်မျိုးဆက်များကိုပိုမိုရှုပ်ထွေးစေနိုင်သည်။ ကျပန်းနံပါတ်မျိုးဆက်များအတွက်မြင့်မားသောလုံခြုံရေးလိုအပ်ချက်များဖြင့်ပိုမိုကောင်းမွန်သောစာဝှက်ထားတဲ့ကျပန်းနံပါတ်မျိုးဆက်ဆိုင်ရာမျိုးဆက်များကို ကျပန်း နှင့် ကျပန်း ကဲ့သို့သောကျပန်းနံပါတ်မျိုးဆက်များကိုထည့်သွင်းစဉ်းစားသင့်သည်။