ခေတ်သစ်ဝက်ဘ်အပလီကေးရှင်းများတွင်ဖိုင်အချက်အလက်များ၏သမာဓိကိုသေချာစေရန်အလွန်အရေးကြီးသည်။ PHP သည် File Content ၏သမာဓိကိုစစ်ဆေးရန်နည်းလမ်းအမျိုးမျိုးကိုထောက်ပံ့ရန်နည်းလမ်းအမျိုးမျိုးကိုပေးသည် ။ hash_final ကိုပုံမှန်အားဖြင့် hash_init နှင့် hash_update နှင့် တွဲဖက်. ဖိုင်ကိုအနှောင့်အယှက်ဖြစ်စေခြင်းရှိ,
ဤဆောင်းပါးသည် PHP တွင် Hash_Final function ကို PHP တွင်မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြရန်နှင့်သင်၏လိုအပ်ချက်များနှင့်ကိုက်ညီရန်ကုဒ် နံပါတ် ရှိ URL domain name အားလုံးကိုအစားထိုးရန်နှင့် URL domain name အားလုံးကိုအစားထိုးရန်အသေးစိတ်ကိုအသေးစိတ်ဖော်ပြထားသည်။
Hash_Final သည်နောက်ဆုံး hash တန်ဖိုးကိုတွက်ချက်သော PHP တွင် hash function ဖြစ်သည်။ ၎င်းကို hash_init နှင့် hash_update လုပ်ဆောင်ချက်များအပြီးအသုံးပြုလေ့ရှိသည်။ Hash_Final သည် hash algorithm မှတွက်ချက်ထားသည့် hash algorithm မှတွက်ချက်ထားသည့် hash တန်ဖိုးကိုပြန်လည်ပေးပို့လိမ့်မည်။ ၎င်းသည်ဖိုင်အကြောင်းအရာ၏ထူးခြားသောအမှတ်အသားဖြစ်သည်။
string hash_final ( resource $context [, bool $raw_output = false ] )
$ Context : Hash_init မှဖန်တီးထားသော Hash Context အရင်းအမြစ်။
$ Raw_output : မူလ binary output ကို ပြန်ပို့ရန်ဆုံးဖြတ်ရန်ရွေးချယ်ရန် optional parameter သည်။
ဖိုင်တစ်ခု၏သမာဓိကိုစစ်ဆေးခြင်းသည်များသောအားဖြင့်ဖိုင်၏ hash တန်ဖိုးကိုတွက်ချက်ခြင်းနှင့်၎င်းကိုယခင်သိမ်းဆည်းထားသော hash တန်ဖိုးနှင့်နှိုင်းယှဉ်ခြင်းဖြစ်သည်။ Hash_Final function ကိုအသုံးပြုပြီးဖိုင်သမာဓိကိုစစ်ဆေးရန်အခြေခံအဆင့်များမှာ -
ပထမ ဦး စွာကျွန်ုပ်တို့သည် hash context ကိုစတင်ရန် hash account function ကိုအသုံးပြုရန်လိုအပ်သည်။
$context = hash_init('sha256'); // အသုံးပြုsha256hash algorithm
ဤတွင်ကျွန်ုပ်တို့သည် Sha256 algorithm ကို သုံး. MD5 နှင့် Sha1 ကဲ့သို့သောအခြား algorithms များကိုလည်းသင်ရွေးချယ်နိုင်သည်။
ထို့နောက်ဖိုင်အကြောင်းအရာများကိုဖတ်ပြီး Hash_Update function ကို အသုံးပြု. hash အခြေအနေကိုအသစ်ပြောင်းပါ။
$file = fopen('example.txt', 'r'); // ဖိုင်ကိုဖွင့်ပါ
while (!feof($file)) {
$buffer = fread($file, 4096); // တစ်ခုချင်းစီကိုဖတ်ပါ4KB
hash_update($context, $buffer); // Hash အခြေအနေကို Update လုပ်ပါ
}
fclose($file); // ဖိုင်ကိုပိတ်ပါ
ဖိုင်အကြောင်းအရာအားလုံးကိုဖတ်ပြီးသည်နှင့်နောက်ဆုံး hash တန်ဖိုးကိုရရှိရန် hash_final function ကိုသုံးပါ။ ဤအချက်မှာဖိုင်၏သမာဓိကိုစစ်ဆေးရန်မျှော်လင့်ထားသည့် Hash တန်ဖိုးကိုနှိုင်းယှဉ်ရန် hash တန်ဖိုးကိုနှိုင်းယှဉ်ရန်အသုံးပြုနိုင်သည်။
$hash = hash_final($context); // ဖိုင်အကြောင်းအရာများ၏ hash တန်ဖိုးကိုရယူပါ
echo "ဖိုင်၏ hash တန်ဖိုးဖြစ်ပါတယ်:$hash";
ဤနည်းဖြင့်ဖိုင်၏ hash တန်ဖိုးကိုသင်ရရှိသည်။ နောက်တစ်ဆင့်မှာဤတန်ဖိုးကိုဖိုင်ကိုသိမ်းဆည်းထားပြီးကိုစစ်ဆေးရန်ယခင်သိမ်းဆည်းထားသော hash value နှင့်နှိုင်းယှဉ်နိုင်သည်။
သင်မူရင်းဖိုင်၏ hash ကိုသိမ်းဆည်းထားပြီဟုယူဆလျှင်ယခု၎င်းကိုအသစ်တွက်ချက်ထားသည့် hash နှင့်နှိုင်းယှဉ်နိုင်သည်။
$expected_hash = 'Pre-Save Hash Value'; // ဤသည်ဖိုင်၏မူလ hash တန်ဖိုးဖြစ်သင့်သည်
if ($hash === $expected_hash) {
echo "ဖိုင်ပြည့်စုံ,နှင့်အတူအနှောင့်အယှက်မ。";
} else {
echo "ဖိုင်ကိုပြုပြင်မွမ်းမံခြင်းသို့မဟုတ်အကျင့်ပျက်ခြစားမှုများကိုပြုလုပ်ထားသည်。";
}
ဤနည်းအားဖြင့်သင်သည်ဖိုင်အကြောင်းအရာများ၏သမာဓိကိုထိရောက်စွာအတည်ပြုနိုင်သည်။
ဤတွင်ဖိုင်ပါ 0 င်မှု၏သမာဓိကိုစစ်ဆေးရန် Hash_Final ကို မည်သို့အသုံးပြုရမည်ကိုပြသသည့်အပြည့်အဝနမူနာကုဒ်ဖြစ်သည်။
<?php
// 1. Hash အခြေအနေကိုစတင်ပါ
$context = hash_init('sha256'); // အသုံးပြုsha256algorithm
// 2. ဖိုင်ကိုဖွင့်ပါ并读取内容
$file = fopen('example.txt', 'r');
while (!feof($file)) {
$buffer = fread($file, 4096); // ဖိုင်ဒေတာကိုဖတ်ပါ
hash_update($context, $buffer); // Hash တွက်ချက်မှုကို Update လုပ်ပါ
}
fclose($file); // ဖိုင်ကိုပိတ်ပါ
// 3. ဖိုင်၏နောက်ဆုံး hash တန်ဖိုးကိုတွက်ချက်ပါ
$hash = hash_final($context);
echo "ဖိုင်၏ hash တန်ဖိုးဖြစ်ပါတယ်:$hash\n";
// 4. 假设我们有一个Pre-Save Hash Value
$expected_hash = 'Pre-Save Hash Value';
// 5. Hash တန်ဖိုးများကိုနှိုင်းယှဉ်,ဖိုင်ပြီးပြည့်စုံကြောင်းအတည်ပြုပါ
if ($hash === $expected_hash) {
echo "ဖိုင်ပြည့်စုံ,နှင့်အတူအနှောင့်အယှက်မ。\n";
} else {
echo "ဖိုင်ကိုပြုပြင်မွမ်းမံခြင်းသို့မဟုတ်အကျင့်ပျက်ခြစားမှုများကိုပြုလုပ်ထားသည်。\n";
}
?>
PHP ၏ hash_final function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဖိုင်အကြောင်းအရာများ၏သမာဓိကိုအလွယ်တကူစစ်ဆေးနိုင်သည်။ ဖိုင်ဖတ်နေစဉ်အတွင်း hash အခြေအနေကိုမွမ်းမံပါ, နောက်ဆုံးတွင် Hash Value ကိုတွက်ချက်ပြီးမျှော်လင့်ထားသည့် hash value နှင့်နှိုင်းယှဉ်ပါ။ အကယ်. နှစ် ဦး စလုံးသည်အတူတူပင်ဖြစ်ပါကဖိုင်သည်အဂတိလိုက်စားမှုနှင့်အဂတိလိုက်စားမှုကိုမခံရပါဟုဆိုလိုသည်။
Hash_Final သည် Hash တွက်ချက်မှုလုပ်ငန်းစဉ်တွင်နောက်ဆုံးအဆင့်သာဖြစ်ကြောင်းသတိပြုသင့်သည်။ အမှန်တကယ်အသုံးပြုမှုတွင် Hash Context ကိုအစပိုင်းတွင်စတင်ရန်နှင့်နောက်ဆုံး hash တန်ဖိုးကိုမရမှီဖိုင်အကြောင်းအရာများကိုဖတ်ရန်လိုအပ်သည်။
ဖိုင်တစ်ခု၏သမာဓိကိုစစ်ဆေးရန် hash_final function ကိုမည်သို့အသုံးပြုရမည်ကိုပိုမိုနားလည်သဘောပေါက်ရန်ဤဆောင်းပါးသည်သင့်အားပိုမိုကောင်းမွန်သောနားလည်မှုကိုပိုမိုနားလည်ရန်ကူညီနိုင်သည်ဟုမျှော်လင့်ပါ။ သင့်တွင်မေးခွန်းများသို့မဟုတ်အခြားလိုအပ်ချက်ရှိပါက ကျေးဇူးပြု. ဆက်သွယ်ပါ။