အမှန်တကယ် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဖိုင်သမာဓိစစ်ဆေးခြင်းသည်အထူးသဖြင့်ဖိုင်လွှဲပြောင်းခြင်း, ကူးယူခြင်း, download လုပ်ခြင်း, သိုလှောင်ခြင်းသို့မဟုတ်သိုလှောင်ခြင်းလုပ်ထုံးလုပ်နည်းများ, PHP သည်၎င်းကိုရရှိရန်အတွက်ကိရိယာများနှင့်လုပ်ဆောင်ချက်များကိုအမျိုးမျိုးသောကိရိယာများကိုထောက်ပံ့ပေးသည် ။
PHP တွင်ဖိုင်သမာဓိစစ်ဆေးမှုများပြုလုပ်ရန် Hash_Final function ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးတွင်အသေးစိတ်ရှင်းပြပါမည်။
Hash_Final သည် PHP တွင် hash function ဖြစ်သည်။ ၎င်းကို hash_init နှင့် hash_update တို့ နှင့်အတူဒေတာ၏တန်ဖိုးများကိုထုတ်လုပ်ရန်အတွက်အသုံးပြုလေ့ရှိသည်။ ဖိုင်တစ်ခု (သို့) ဒေတာတစ်ခုရှိရန်လိုအပ်သည့်အခါလုပ်ငန်းစဉ်တစ်ခုလုံးကိုဖြည့်စွက်ရန်ဤလုပ်ဆောင်ချက်သုံးခုကိုသင်အသုံးပြုနိုင်သည်။ hash_final function ၏လုပ်ဆောင်ချက်သည်နောက်ဆုံး hash value ကိုပြန်လည်ရယူရန်နှင့် Hash တွက်ချက်မှုကိုအဆုံးသတ်ရန်ဖြစ်သည်။
Hash တွက်ချက်မှုကိုအစပြုပါ
ပထမ ဦး စွာ Hash တွက်ချက်မှု ကိုစတင်ရန်နှင့်သင်အသုံးပြုလိုသော hash algorithm ကိုသတ်မှတ်ရန်သင်လိုအပ်သည် ။
$algorithm = 'sha256'; // အခြား algorithms ထိုကဲ့သို့သောအဖြစ်ရွေးချယ်နိုင်ပါတယ် 'md5', 'sha1' စောင့်
$context = hash_init($algorithm);
ဖိုင်ကိုဖတ်ပြီး 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);
}
နောက်ဆုံး hash တန်ဖိုးကိုရယူပါ
ဖိုင်ကိုဖတ်ရှုပြီးနောက်ဒေတာအားလုံးကို hash_update မှတစ်ဆင့်အခြေအနေကိုအခြေအနေသို့အဆင့်မြှင့်ထားပြီးနောက်ဆုံး hash တန်ဖိုးကိုရရှိရန် hash_final function ကိုသုံးပါ။
$hashValue = hash_final($context); // ဖိုင်၏နောက်ဆုံး hash တန်ဖိုးကိုပြန်ပို့သည်
echo "ဖိုင်၏ hash တန်ဖိုးဖြစ်ပါတယ်: " . $hashValue;
နှိုင်းယှဉ် hash တန်ဖိုး
ယေဘုယျအားဖြင့်ပြောရလျှင်သမာဓိစစ်ဆေးမှု၏ရည်ရွယ်ချက်မှာဖိုင်ကိုကြိုတင်သိမ်းဆည်းထားသည့် Hash တန်ဖိုးကိုကြိုတင်သိမ်းဆည်းထားသည့် hash value ကိုနှိုင်းယှဉ်ရန်ဖြစ်သည်။ အကယ်. ဖိုင်သည်ဘာမှမပြောင်းလဲပါကတွက်ချက်ထားသော hash တန်ဖိုးသည်မူလ Hash Value နှင့်ကိုက်ညီသင့်သည်။
မူရင်း hash တန်ဖိုးကိုတစ်နေရာရာ, တစ်နေရာရာ, တွက်ချက်ထားသည့် hash တန်ဖိုးကိုဤမျှော်လင့်ထားသည့် hash value နှင့်နှိုင်းယှဉ်နိုင်သည်။
$expectedHash = 'မျှော်လင့်ထား hash တန်ဖိုး'; // ဒါနဲ့ပတ်သက်ပြီးဒေတာဘေ့စ်ဒါမှမဟုတ်တခြားနေရာကနေရနိုင်တယ်
if ($hashValue === $expectedHash) {
echo "ဖိုင်ပြည့်စုံ,နှင့်အတူအနှောင့်အယှက်မ。";
} else {
echo "ဖိုင်များအကျင့်ပျက်ခြစားမှုသို့မဟုတ်နှောင့်အယှက်နေကြသည်。";
}
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 တန်ဖိုးများကိုအချိန်မီစစ်ဆေးခြင်းနှင့်အချိန်မှန်စိစစ်ခြင်းကိုအသုံးပြုခြင်းသည်စနစ်၏လုံခြုံမှုကိုအလွန်တိုးတက်စေပြီးဖိုင်၏စစ်မှန်မှုနှင့်သမာဓိကိုသေချာစွာစစ်ဆေးနိုင်သည်။