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

hash_final ကို အသုံးပြု. ဖိုင်တစ်ခု၏ hash တန်ဖိုးကိုမည်သို့တွက်ချက်ရမည်နည်း။

gitbox 2025-05-20

PHP တွင် Hashing algorithm တစ်ခုသည် File Content သို့မဟုတ်ကြိုးများကဲ့သို့သောမည်သည့်အရှည်ရှိအချက်အလက်များနှင့်ကြိုးများဖြစ်သော file contents သို့မဟုတ် strings များအဖြစ်ပြောင်းလဲစေသောနည်းစနစ်တစ်ခုဖြစ်သည်။ အများအားဖြင့် Hashing algorithms များတွင် MD5, Sha-1, Sha-256 စသဖြင့်ဖိုင်များလုပ်ဆောင်သောအခါဖိုင်၏သမာဓိကိုစစ်ဆေးရန်နှင့်ဖိုင်၏သမာဓိကိုစစ်ဆေးရန်ဖိုင်၏ hash တန်ဖိုးကိုတွက်ချက်ရန်နှင့်ဖိုင်ကိုအကောင်အထည်ဖော်ရန်အသုံးပြုနိုင်သည်။

PHP တွင်ဖိုင်တစ်ခု၏ hash တန်ဖိုးကိုတွက်ချက်ရန် hash_final function ကိုသုံးနိုင်သည်။ အောက်တွင်ဖော်ပြထားသည့် I Hash_Final function ကို အသုံးပြု. ဖိုင်တစ်ခု၏ hash တန်ဖိုးကိုတွက်ချက်ရန်နှင့်သင်နားလည်ရန်တိကျသောကုဒ်များကိုအသုံးပြုသည်။

Hash_Final function ကဘာလဲ။

hash_final function သည် Hash တွက်ချက်မှုများကိုပြီးစီးရန်အသုံးပြုသော PHP တွင်အသုံးပြုသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းကို hash_init နှင့် hash_update နှင့် တွဲဖက်. အသုံးပြုလေ့ရှိသည်။ ကြီးမားသောအချက်အလက်များ (ဥပမာဖိုင်များကဲ့သို့) ပြုပြင်သည့်အခါ၎င်းသည် chunked computing hash တန်ဖိုးများကိုခွင့်ပြုသည်။

function ရှေ့ပြေးပုံစံ:

 string hash_final ( resource $context [, bool $raw_output = false ] )
  • $ Context : ဤသည်လက်ရှိ hash တွက်ချက်မှုအခြေအနေကိုသိမ်းဆည်းရန်အသုံးပြုသော hash_init function မှစတင်သောအရင်းအမြစ်တစ်ခုဖြစ်သည်။

  • $ RAW_OUTPATE : အကယ်. မှန်ကန် ပါက hash တန်ဖိုးကို Binary format ဖြင့်ပြန်ပို့ပါ။ အကယ်. မှားယွင်းပါက hash တန်ဖိုးကို hexadecimal format ဖြင့်ပြန်ပို့ပါ။

ဖိုင်တစ်ခု၏ hash တန်ဖိုးကိုတွက်ချက်ရန် hash_final function ကိုသုံးပါ

ဖိုင်တစ်ခု၏ hash တန်ဖိုးကိုတွက်ချက်ရန် hash_final function ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသောရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

အဆင့်

  1. Hash တွက်ချက်မှုအခြေအနေကိုစတင်ရန် hash_init function ကိုသုံးပါ။

  2. ဖိုင်ကိုအတုံးများဖြင့်ဖတ်ရန် hash_update function ကို သုံး. hash အခြေအနေကိုမွမ်းမံပါ။

  3. နောက်ဆုံး hash တန်ဖိုးကိုရရှိရန် hash_final function ကိုသုံးပါ။

နမူနာကုဒ်:

 <?php

// ဖိုင်လမ်းကြောင်း
$file = 'path/to/your/file.txt';

// Hash တွက်ချက်မှုကိုအစပြုပါ,Hashing algorithm ကိုရွေးချယ်ပါ(ကဲ့သို့ md5, sha256 စောင့်)
$context = hash_init('sha256');

// ဖိုင်ကိုဖွင့်ပြီးဖတ်ပါ
$handle = fopen($file, 'rb');
if ($handle) {
    // တစ်ခုချင်းစီကိုဖတ်ပါ 8192 ဒရယ်
    while (!feof($handle)) {
        // ဖိုင်အကြောင်းအရာကိုဖတ်ပါ
        $data = fread($handle, 8192);
        // Hash တန်ဖိုးကို Update လုပ်ပါ
        hash_update($context, $data);
    }
    fclose($handle);
} else {
    echo "ဖိုင်ကိုဖွင့ ်. မရပါ!";
    exit;
}

// ဖိုင်၏ hash တန်ဖိုးကိုတွက်ချက်ပါ
$hash = hash_final($context);

// output ကို hash တန်ဖိုး
echo "ဖိုင်၏ hash တန်ဖိုးဖြစ်ပါတယ်: " . $hash;

?>

code parsing:

  • ပထမ ဦး စွာ Hash တွက်ချက်မှုကိုအစပြုရန် hash_init function ကိုခေါ်ပါ။ SHA256 ကို Hashing algorithm အဖြစ်ရွေးချယ်ထားပြီး MD5 , Sha1 စသည့်အခြားနည်းလမ်းများကိုလည်းကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။

  • fopen function ကိုသုံးပါဖိုင်ကိုဖွင့်ရန် File ကိုဖွင့် ပါ ။ ဤနည်းအားဖြင့်ကြီးမားသောဖိုင်များကိုပြုပြင်သည့်အခါဖိုင်တစ်ခုလုံးကိုတစ်ချိန်တည်းတွင်မမှတ်ထားပါ။

  • Hash_update သည် ဖတ်သည့်အချက်အလက်များကိုလက်ရှိ hash တွက်ချက်မှုသို့ထည့်သွင်းလိမ့်မည်။

  • နောက်ဆုံးအနေနဲ့နောက်ဆုံး hash တန်ဖိုးကိုရရန် hash_final ကို ခေါ်ပါ။

hash_final ကိုအသုံးပြု။ hash တန်ဖိုးများကိုတွက်ချက်သောအခါမှတ်စုများ

  • စွမ်းဆောင်ရည်ပြ issues နာများ - ကြီးမားသောဖိုင်များအတွက်ဖိုင်များကိုပိတ်ဆို့ခြင်းအစားဖိုင်ပိတ်ပင်တားဆီးမှုကိုဖတ်မည့်အစား,

  • Hash Algorithm Selection : ကွဲပြားခြားနားသော hash algorithms ( MD5 ကဲ့သို့ MD5, Sha1 Sha256 ) ကွဲပြားခြားနားသော hash တန်ဖိုးများကိုထုတ်လုပ်သည်။ algorithm တစ်ခုကိုရွေးချယ်သည့်အခါ၎င်းသည်အမှန်တကယ်လိုအပ်ချက်များအပေါ် အခြေခံ. ဆုံးဖြတ်နိုင်သည်။ ဥပမာအားဖြင့် MD5 သည် 32 ဇာတ်ကောင် long hash တန်ဖိုးကိုထုတ်ပေးသည်