PHP တွင် Hash_Final () တွင် hash တန်ဖိုးများကိုထုတ်လုပ်ရန် hash_init () နှင့် hash_update () တွင်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်အစုများသည် Hash () function ကိုတိုက်ရိုက်အသုံးပြုခြင်းထက်ပိုမိုပြောင်းလွယ်ပြင်လွယ်သောနည်းလမ်းဖြစ်သည်။
Sha-256 hash တန်ဖိုးများကိုထုတ်လုပ်ရန် hash_final () ကို မည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကရှင်းပြပါမည်။
Hash_final () ကို hash context ကိုဖြည့်စွက်ပြီးနောက်ဆုံး hash တန်ဖိုးကိုပြန်ပို့ရန်အသုံးပြုသည်။ ၎င်းကို hash_init ( hash context) နှင့် hash_update () (အချက်အလက်များကိုအစအ ဦး) (အခြေအနေသို့ဒေတာကိုထပ်ထည့်သည်) နှင့် တွဲဖက်. အသုံးပြုသည်။
ဤချဉ်းကပ်မှုသည်သင်၏အချက်အလက်အားလုံးကိုတစ်ပြိုင်နက်တည်းမှတ်ဉာဏ်ထဲသို့မထည့်နိုင်ပါကများစွာသောဖိုင်များ (သို့) streaming data stirecting memory ကိုတစ်ချိန်တည်းတွင်မမှတ်နိုင်သည့်အခါအထူးသဖြင့်သင့်လျော်သည်။
Sha-256 hash ကိုထုတ်လုပ်ရန်အခြေခံအဆင့်များမှာဤတွင်ဖြစ်သည်။
1 ?? Hash အခြေအနေကိုစတင်ပါ
2 ?? အစိတ်အပိုင်းများသို့ဒေတာ pass
3 ?? နောက်ဆုံး hash တန်ဖိုးကိုရယူပါ
အောက်ပါကုဒ်သည် segments များရှိ string data များကိုမည်သို့လုပ်ဆောင်ရမည်ကိုပြသသည်။
<?php
// ပထမခြေလှမ်း:Hash အခြေအနေကိုစတင်ပါ,အဖြစ် algorithm ကိုသတ်မှတ်ပါ sha256
$context = hash_init('sha256');
// အဆင့် 2:အစိတ်အပိုင်းများအတွက်ဒေတာကို update ကို(မျိုးစုံအကြိမ်ပေါင်းများစွာခေါ်နိုင်ပါတယ် hash_update)
$dataPart1 = 'Hello, ';
$dataPart2 = 'this is a test ';
$dataPart3 = 'using hash_final().';
hash_update($context, $dataPart1);
hash_update($context, $dataPart2);
hash_update($context, $dataPart3);
// အဆင့် 3:နောက်ဆုံး hash တန်ဖိုးကိုရယူပါ(hexadecimal string ကို)
$hash = hash_final($context);
echo "နောက်ဆုံး SHA-256 အဆိုပါ hash တန်ဖိုးဖြစ်ပါတယ်: $hash";
?>
ရလဒ်ဥပမာ:
နောက်ဆုံး SHA-256 အဆိုပါ hash တန်ဖိုးဖြစ်ပါတယ်: 6e4b18e9f8f2de9d4d70f43b8f6b1c7e6812b826ad3b1c5eaf2df62e245b3f94
အကယ်. သင်သည် SHA-256 hash ကိုဖိုင်ကြီးတစ်ခုပေါ်တွင်ထုတ်လုပ်လိုပါကသင်လုပ်နိုင်သည် -
<?php
$context = hash_init('sha256');
// ဖိုင်စီးကိုဖွင့်ပါ
$handle = fopen('https://gitbox.net/path/to/largefile.zip', 'rb');
if ($handle === false) {
die('ဖိုင်ကိုဖွင့ ်. မရပါ。');
}
// တစ်ခုချင်းစီကိုဖတ်ပါ 8KB
while (!feof($handle)) {
$data = fread($handle, 8192);
hash_update($context, $data);
}
fclose($handle);
$hash = hash_final($context);
echo "တင်သွင်းခြင်း SHA-256 အဆိုပါ hash တန်ဖိုးဖြစ်ပါတယ်: $hash";
?>
ဤဥပမာတွင်ဝေးလံခေါင်သီသောဖိုင်ကို httpe://gitbox.net/path/tarto/largefile.zip ကို တိုက်ရိုက်ဖတ်ရှုရန် fopen () ကို အသုံးပြုသည်။ Hash Context block ကိုပိတ်ထားပြီးနောက်ဆုံးတွင် Sha-256 hash value ကိုအဆင့်မြှင့်ပါ။
? အကယ်. သင်သည်သေးငယ်သောဒေတာများအတွက် hashings များကိုသာထုတ်လုပ်ရန်သာလိုအပ်ပါက Hash () ကို တိုက်ရိုက်အသုံးပြုရန်အမှန်တကယ်လွယ်ကူသည်။
$hash = hash('sha256', 'Hello, this is a test.');
? hash_final () ကိုအသုံးပြုပြီးနောက် hash အခြေအနေကိုဖျက်ဆီးလိမ့်မည်။ သင်ပြန်လည်အသုံးပြုလိုပါက hash_init () ကို ထပ်မံခေါ်ရန်လိုအပ်သည်။