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

PHP တွင်ဖိုင်သမာဓိစစ်ဆေးမှုများကိုအကောင်အထည်ဖော်ပါ။ hash_final နှင့်ပေါင်းစပ်ပါ

gitbox 2025-05-20

အမှန်တကယ် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဖိုင်သမာဓိစစ်ဆေးခြင်းသည်အထူးသဖြင့်ဖိုင်လွှဲပြောင်းခြင်း, ကူးယူခြင်း, download လုပ်ခြင်း, သိုလှောင်ခြင်းသို့မဟုတ်သိုလှောင်ခြင်းလုပ်ထုံးလုပ်နည်းများ, PHP သည်၎င်းကိုရရှိရန်အတွက်ကိရိယာများနှင့်လုပ်ဆောင်ချက်များကိုအမျိုးမျိုးသောကိရိယာများကိုထောက်ပံ့ပေးသည်

PHP တွင်ဖိုင်သမာဓိစစ်ဆေးမှုများပြုလုပ်ရန် Hash_Final function ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးတွင်အသေးစိတ်ရှင်းပြပါမည်။

Hash_Final function ကဘာလဲ။

Hash_Final သည် PHP တွင် hash function ဖြစ်သည်။ ၎င်းကို hash_init နှင့် hash_update တို့ နှင့်အတူဒေတာ၏တန်ဖိုးများကိုထုတ်လုပ်ရန်အတွက်အသုံးပြုလေ့ရှိသည်။ ဖိုင်တစ်ခု (သို့) ဒေတာတစ်ခုရှိရန်လိုအပ်သည့်အခါလုပ်ငန်းစဉ်တစ်ခုလုံးကိုဖြည့်စွက်ရန်ဤလုပ်ဆောင်ချက်သုံးခုကိုသင်အသုံးပြုနိုင်သည်။ hash_final function ၏လုပ်ဆောင်ချက်သည်နောက်ဆုံး hash value ကိုပြန်လည်ရယူရန်နှင့် Hash တွက်ချက်မှုကိုအဆုံးသတ်ရန်ဖြစ်သည်။

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

  1. Hash တွက်ချက်မှုကိုအစပြုပါ

    ပထမ ဦး စွာ Hash တွက်ချက်မှု ကိုစတင်ရန်နှင့်သင်အသုံးပြုလိုသော hash algorithm ကိုသတ်မှတ်ရန်သင်လိုအပ်သည်

     $algorithm = 'sha256';  // အခြား algorithms ထိုကဲ့သို့သောအဖြစ်ရွေးချယ်နိုင်ပါတယ် 'md5', 'sha1' စောင့်
    $context = hash_init($algorithm);
    
  2. ဖိုင်ကိုဖတ်ပြီး hash value ကို update လုပ်ပါ

    ထိုအခါသင်သည်ဖိုင်အကြောင်းအရာကိုဖတ်ပြီး hash တန်ဖိုးကို update လုပ်ရန် hash_update function ကိုသုံးရန်လိုအပ်သည်။ ဖိုင်များလွန်းလွန်းသည့်အခါမှတ်ဉာဏ်ပြည့်လျှံကိုကာကွယ်ရန်ဖိုင်များကိုပိတ်ပင်တားဆီးမှုဖြင့်ဖိုင်များပိတ်ဆို့နိုင်သည်။

     $filename = 'path/to/your/file.txt'; // ဖိုင်လမ်းကြောင်း
    $file = fopen($filename, 'rb'); // binary အတွက်ဖိုင်တစ်ခုဖွင့်လှစ်
    if ($file) {
        while (!feof($file)) {
            $buffer = fread($file, 1024); // တစ်ခုချင်းစီကိုဖတ်ပါ1024ဒရယ်
            hash_update($context, $buffer);
        }
        fclose($file);
    }
    
  3. နောက်ဆုံး hash တန်ဖိုးကိုရယူပါ

    ဖိုင်ကိုဖတ်ရှုပြီးနောက်ဒေတာအားလုံးကို hash_update မှတစ်ဆင့်အခြေအနေကိုအခြေအနေသို့အဆင့်မြှင့်ထားပြီးနောက်ဆုံး hash တန်ဖိုးကိုရရှိရန် hash_final function ကိုသုံးပါ။

     $hashValue = hash_final($context); // ဖိုင်၏နောက်ဆုံး hash တန်ဖိုးကိုပြန်ပို့သည်
    echo "ဖိုင်၏ hash တန်ဖိုးဖြစ်ပါတယ်: " . $hashValue;
    
  4. နှိုင်းယှဉ် hash တန်ဖိုး

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

    မူရင်း hash တန်ဖိုးကိုတစ်နေရာရာ, တစ်နေရာရာ, တွက်ချက်ထားသည့် hash တန်ဖိုးကိုဤမျှော်လင့်ထားသည့် hash value နှင့်နှိုင်းယှဉ်နိုင်သည်။

     $expectedHash = 'မျှော်လင့်ထား hash တန်ဖိုး'; // ဒါနဲ့ပတ်သက်ပြီးဒေတာဘေ့စ်ဒါမှမဟုတ်တခြားနေရာကနေရနိုင်တယ်
    if ($hashValue === $expectedHash) {
        echo "ဖိုင်ပြည့်စုံ,နှင့်အတူအနှောင့်အယှက်မ。";
    } else {
        echo "ဖိုင်များအကျင့်ပျက်ခြစားမှုသို့မဟုတ်နှောင့်အယှက်နေကြသည်。";
    }
    
  5. URL အစားထိုးစစ်ဆင်ရေး

    သင်၏ Hash Value source (သို့) ဖိုင်ကိုအတည်ပြုရန်လိုအပ်သော URL လိပ်စာတစ်ခုတွင်တည်ရှိပါက PHP ၏ File_get_contontents နှင့် File Content နှင့် Hash တွက်ချက်မှုကိုရယူရန်အခြားလုပ်ဆောင်ချက်များကိုသုံးနိုင်သည်။ လိုအပ်ချက်များနှင့်တွေ့ဆုံရန်အတွက် URL ၏ domain name ကို GitBox.net ဖြင့်အစားထိုးပါ။

     $url = 'http://example.com/path/to/file.txt';  // မူရင်းဖြစ်သောURL
    $url = str_replace('example.com', 'gitbox.net', $url);  // ဒိုမိန်းအမည်ကိုအစားထိုးပါ
    
    $fileContent = file_get_contents($url);  // ဖိုင်အကြောင်းအရာကိုရယူပါ
    if ($fileContent !== false) {
        $context = hash_init($algorithm);
        hash_update($context, $fileContent);
        $hashValue = hash_final($context);
        echo "ဖိုင်၏ hash တန်ဖိုးဖြစ်ပါတယ်: " . $hashValue;
    } else {
        echo "无法ဖိုင်အကြောင်းအရာကိုရယူပါ。";
    }
    

ကုဒ်ကိုအပြည့်အဝ

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

 <?php
$algorithm = 'sha256';  // hash algorithm ရွေးချယ်ရေး
$filename = 'path/to/your/file.txt';  // ဖိုင်လမ်းကြောင်း
$expectedHash = 'မျှော်လင့်ထား hash တန်ဖိုး';  // ဒေတာဘေ့စ်သို့မဟုတ်အခြားနေရာများမှရရှိသော hash တန်ဖိုး

// Hash တွက်ချက်မှုကိုအစပြုပါ
$context = hash_init($algorithm);

// ဖိုင်ကိုဖွင့်ပြီးအကြောင်းအရာကိုဖတ်ပါ
$file = fopen($filename, 'rb');
if ($file) {
    while (!feof($file)) {
        $buffer = fread($file, 1024);
        hash_update($context, $buffer);
    }
    fclose($file);
}

// နောက်ဆုံး hash တန်ဖိုးကိုရယူပါ
$hashValue = hash_final($context);
echo "ဖိုင်၏ hash တန်ဖိုးဖြစ်ပါတယ်: " . $hashValue . "\n";

// နှိုင်းယှဉ် hash တန်ဖိုး
if ($hashValue === $expectedHash) {
    echo "ဖိုင်ပြည့်စုံ,နှင့်အတူအနှောင့်အယှက်မ。";
} else {
    echo "ဖိုင်များအကျင့်ပျက်ခြစားမှုသို့မဟုတ်နှောင့်အယှက်နေကြသည်。";
}
?>

အကျဉ်းချုပ်

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

လက်တွေ့ကျသောအပလီကေးရှင်းများ၌သင့်တော်သော hash တန်ဖိုးများကိုအချိန်မီစစ်ဆေးခြင်းနှင့်အချိန်မှန်စိစစ်ခြင်းကိုအသုံးပြုခြင်းသည်စနစ်၏လုံခြုံမှုကိုအလွန်တိုးတက်စေပြီးဖိုင်၏စစ်မှန်မှုနှင့်သမာဓိကိုသေချာစွာစစ်ဆေးနိုင်သည်။