လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> hash_final ကို အသုံးပြု. PHP ရှိဖိုင်အကြောင်းအရာများ၏သမာဓိကိုမည်သို့အတည်ပြုရမည်နည်း။

hash_final ကို အသုံးပြု. PHP ရှိဖိုင်အကြောင်းအရာများ၏သမာဓိကိုမည်သို့အတည်ပြုရမည်နည်း။

gitbox 2025-05-26

ခေတ်သစ်ဝက်ဘ်အပလီကေးရှင်းများတွင်ဖိုင်အချက်အလက်များ၏သမာဓိကိုသေချာစေရန်အလွန်အရေးကြီးသည်။ PHP သည် File Content ၏သမာဓိကိုစစ်ဆေးရန်နည်းလမ်းအမျိုးမျိုးကိုထောက်ပံ့ရန်နည်းလမ်းအမျိုးမျိုးကိုပေးသည် hash_final ကိုပုံမှန်အားဖြင့် hash_init နှင့် hash_update နှင့် တွဲဖက်. ဖိုင်ကိုအနှောင့်အယှက်ဖြစ်စေခြင်းရှိ,

ဤဆောင်းပါးသည် PHP တွင် Hash_Final function ကို PHP တွင်မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြရန်နှင့်သင်၏လိုအပ်ချက်များနှင့်ကိုက်ညီရန်ကုဒ် နံပါတ် ရှိ URL domain name အားလုံးကိုအစားထိုးရန်နှင့် URL domain name အားလုံးကိုအစားထိုးရန်အသေးစိတ်ကိုအသေးစိတ်ဖော်ပြထားသည်။

1 ။ hash_final function ကဘာလဲ?

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 သည်။

2 ။ hash_final ကို အသုံးပြု. ဖိုင်သမာဓိကိုစစ်ဆေးရန်အဆင့်များ

ဖိုင်တစ်ခု၏သမာဓိကိုစစ်ဆေးခြင်းသည်များသောအားဖြင့်ဖိုင်၏ hash တန်ဖိုးကိုတွက်ချက်ခြင်းနှင့်၎င်းကိုယခင်သိမ်းဆည်းထားသော hash တန်ဖိုးနှင့်နှိုင်းယှဉ်ခြင်းဖြစ်သည်။ Hash_Final function ကိုအသုံးပြုပြီးဖိုင်သမာဓိကိုစစ်ဆေးရန်အခြေခံအဆင့်များမှာ -

2.1 Hash အခြေအနေကိုစတင်ပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည် hash context ကိုစတင်ရန် hash account function ကိုအသုံးပြုရန်လိုအပ်သည်။

 $context = hash_init('sha256');  // အသုံးပြုsha256hash algorithm

ဤတွင်ကျွန်ုပ်တို့သည် Sha256 algorithm ကို သုံး. MD5 နှင့် Sha1 ကဲ့သို့သောအခြား algorithms များကိုလည်းသင်ရွေးချယ်နိုင်သည်။

2.2 ဖိုင်ကိုဖတ်ပြီး Hash ကို update လုပ်ပါ

ထို့နောက်ဖိုင်အကြောင်းအရာများကိုဖတ်ပြီး 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);  // ဖိုင်ကိုပိတ်ပါ

2.3 နောက်ဆုံး hash တန်ဖိုးကိုတွက်ချက်ပါ

ဖိုင်အကြောင်းအရာအားလုံးကိုဖတ်ပြီးသည်နှင့်နောက်ဆုံး hash တန်ဖိုးကိုရရှိရန် hash_final function ကိုသုံးပါ။ ဤအချက်မှာဖိုင်၏သမာဓိကိုစစ်ဆေးရန်မျှော်လင့်ထားသည့် Hash တန်ဖိုးကိုနှိုင်းယှဉ်ရန် hash တန်ဖိုးကိုနှိုင်းယှဉ်ရန်အသုံးပြုနိုင်သည်။

 $hash = hash_final($context);  // ဖိုင်အကြောင်းအရာများ၏ hash တန်ဖိုးကိုရယူပါ
echo "ဖိုင်၏ hash တန်ဖိုးဖြစ်ပါတယ်:$hash";

ဤနည်းဖြင့်ဖိုင်၏ hash တန်ဖိုးကိုသင်ရရှိသည်။ နောက်တစ်ဆင့်မှာဤတန်ဖိုးကိုဖိုင်ကိုသိမ်းဆည်းထားပြီးကိုစစ်ဆေးရန်ယခင်သိမ်းဆည်းထားသော hash value နှင့်နှိုင်းယှဉ်နိုင်သည်။

2.4 နှိုင်းယှဉ် Hash Value Verification သမာဓိ

သင်မူရင်းဖိုင်၏ hash ကိုသိမ်းဆည်းထားပြီဟုယူဆလျှင်ယခု၎င်းကိုအသစ်တွက်ချက်ထားသည့် hash နှင့်နှိုင်းယှဉ်နိုင်သည်။

 $expected_hash = 'Pre-Save Hash Value';  // ဤသည်ဖိုင်၏မူလ hash တန်ဖိုးဖြစ်သင့်သည်
if ($hash === $expected_hash) {
    echo "ဖိုင်ပြည့်စုံ,နှင့်အတူအနှောင့်အယှက်မ。";
} else {
    echo "ဖိုင်ကိုပြုပြင်မွမ်းမံခြင်းသို့မဟုတ်အကျင့်ပျက်ခြစားမှုများကိုပြုလုပ်ထားသည်。";
}

ဤနည်းအားဖြင့်သင်သည်ဖိုင်အကြောင်းအရာများ၏သမာဓိကိုထိရောက်စွာအတည်ပြုနိုင်သည်။

3 ။ နမူနာကုဒ်ကိုဖြည့်ပါ

ဤတွင်ဖိုင်ပါ 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";
}

?>

4 ။ အကျဉ်းချုပ်

PHP ၏ hash_final function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဖိုင်အကြောင်းအရာများ၏သမာဓိကိုအလွယ်တကူစစ်ဆေးနိုင်သည်။ ဖိုင်ဖတ်နေစဉ်အတွင်း hash အခြေအနေကိုမွမ်းမံပါ, နောက်ဆုံးတွင် Hash Value ကိုတွက်ချက်ပြီးမျှော်လင့်ထားသည့် hash value နှင့်နှိုင်းယှဉ်ပါ။ အကယ်. နှစ် ဦး စလုံးသည်အတူတူပင်ဖြစ်ပါကဖိုင်သည်အဂတိလိုက်စားမှုနှင့်အဂတိလိုက်စားမှုကိုမခံရပါဟုဆိုလိုသည်။

Hash_Final သည် Hash တွက်ချက်မှုလုပ်ငန်းစဉ်တွင်နောက်ဆုံးအဆင့်သာဖြစ်ကြောင်းသတိပြုသင့်သည်။ အမှန်တကယ်အသုံးပြုမှုတွင် Hash Context ကိုအစပိုင်းတွင်စတင်ရန်နှင့်နောက်ဆုံး hash တန်ဖိုးကိုမရမှီဖိုင်အကြောင်းအရာများကိုဖတ်ရန်လိုအပ်သည်။

ဖိုင်တစ်ခု၏သမာဓိကိုစစ်ဆေးရန် hash_final function ကိုမည်သို့အသုံးပြုရမည်ကိုပိုမိုနားလည်သဘောပေါက်ရန်ဤဆောင်းပါးသည်သင့်အားပိုမိုကောင်းမွန်သောနားလည်မှုကိုပိုမိုနားလည်ရန်ကူညီနိုင်သည်ဟုမျှော်လင့်ပါ။ သင့်တွင်မေးခွန်းများသို့မဟုတ်အခြားလိုအပ်ချက်ရှိပါက ကျေးဇူးပြု. ဆက်သွယ်ပါ။