ဖိုင်တင်ခြင်း, ကူးယူခြင်းသို့မဟုတ်ဖိုင်လွှဲပြောင်းခြင်းများပါ 0 င်သောဖွံ့ဖြိုးဆဲစနစ်များကိုရေးဆွဲသည့်အခါဖိုင်များ၏လုံခြုံရေးနှင့်သမာဓိရှိခြင်းကိုသေချာစေရန်အလွန်အရေးကြီးသည်။ ဖိုင်ထုတ်လွှင့်စဉ်အတွင်းဖိုင်ကိုအနှောင့်အယှက်ဖြစ်စေခြင်းရှိမရှိကိုအတည်ပြုရန်အတွက်ဖိုင်စစ်ဆေးခြင်းကိုအကောင်အထည်ဖော်ရန် hash_hmac_file function ကိုသုံးနိုင်သည်။ ဤဆောင်းပါးသည် Hash_Hmac_file ၏လက်တွေ့ကျသောအသုံးချမှုကိုအထူးသဖြင့်ဖိုင်လုံခြုံရေးနှင့်သမာဓိရှိစေရေးကိုသေချာစေရန် PHP နမူနာကုဒ်ကိုဤလုပ်ဆောင်မှုကိုမည်သို့အသုံးပြုရမည်ကိုပြသရန် PHP နမူနာကုဒ်ကိုပေါင်းစပ်ထားသည်။
Hash_hmac_file သည် PHP တွင်ဖိုင်တစ်ခု၏ hash တန်ဖိုးကိုတွက်ချက်ပြီး HMAC (Hash-based message authentication code) algorithm ကိုအသုံးပြုသည်။ Key နှင့် File Content ကိုအသုံးပြုခြင်းအားဖြင့် hash_hmac_file သည် transment transaction တွင်ဖြည့်ဆည်းပေးနိုင်ရန်သေချာသည်။ ဤချဉ်းကပ်နည်းသည်ရိုးရှင်းသောဖိုင်ဆေးထည့်ခြင်းထက် ပို. လုံခြုံသည်။
string hash_hmac_file ( string $algo , string $filename , string $key [, bool $raw_output = false ] )
$ algo : Sha256 , MD5 စသည့်အမြင့်ဆုံး algorithm ကိုအသုံးပြုသည်။
$ filename : hash တန်ဖိုးကိုတွက်ချက်ရန်ဖိုင်လမ်းကြောင်း။
$ key : HMAC ကိုထုတ်လုပ်ရန်အသုံးပြုသောသော့ချက်။
$ Raw_output (optional): အကယ်. မှန်ကန်သောလျှင် မူရင်း binary data ကိုပြန်ပို့ပါ။ Default သည် မှားသည် , ဖတ်နိုင်သော hexadecimal နံပါတ်ကိုပြန်ပို့ပါ။
လျှောက်လွှာအများအပြားတွင်ဖိုင်၏သမာဓိကိုစစ်ဆေးရန်လိုအပ်သည်။ ဥပမာအားဖြင့်ဖိုင်တစ်ခုတင်ထားသောသို့မဟုတ်ဒေါင်းလုပ်လုပ်သည့်အခါဖိုင်သည်ဖိုင်ကိုအနှောင့်အယှက်မပေးရန်သေချာစေလိုသည်။ အောက်ပါတို့သည်ဖိုင်များကိုလုံခြုံရေးစစ်ဆေးမှုအကောင်အထည်ဖော်ရန် Hash_hmac_file function ကိုအသုံးပြုနည်း။
<?php
// သော့ကိုသတ်မှတ်ပါ
$key = 'my_secret_key';
// ဖိုင်လမ်းကြောင်း
$file = 'example.txt';
// အသုံးပြု hash_hmac_file ဖိုင်ကိုတွက်ချက်ပါ HMAC hash တန်ဖိုး
$hmac = hash_hmac_file('sha256', $file, $key);
// output တွက်ချက်မှုရလဒ်များ
echo "HMAC for the file is: " . $hmac;
?>
ဤဥပမာတွင်ဖိုင် ဥပမာ ၏ HMAC Hash တန်ဖိုးကိုတွက်ချက်ပြီးပုံနှိပ်ထားသည်။ ကျွန်ုပ်တို့သည် SHA256 algorithm ကိုအသုံးပြုခဲ့ပြီးဖိုင်သမာဓိကိုသေချာစေရန်ကျွန်ုပ်၏သော့ချက် ကျွန်ုပ်၏သော့ချက်ကို ပေးသည်။
ဖိုင်လွှဲပြောင်းနေစဉ်အတွင်းကျွန်ုပ်တို့သည် hmac value နှင့်အတူဖိုင်ကိုလက်ခံသူထံသို့များသောအားဖြင့်ပေးပို့လေ့ရှိသည်။ လက်ခံသူသည်ဖိုင်၏ HMAC တန်ဖိုးကိုပြန်လည်တွက်ချက်ရန်နှင့် 4 င်းတို့ကို hmac value ကိုပြန်လည်တွက်ချက်ရန်နှင့်၎င်းကိုကူးစက်သော HMAC တန်ဖိုးနှင့်နှိုင်းယှဉ်နိုင်သည်။ ပွဲစဉ်နှစ်ခုပါက၎င်းသည်ဖိုင်ကိုအနှောင့်အယှက်မပေးထားကြောင်းဆိုလိုသည်။ အကယ်. ၎င်းနှင့်မကိုက်ညီပါကဖိုင်၏သမာဓိကိုခြိမ်းခြောက်သည်ဟုဆိုလိုသည်။
ဖိုင်နှင့်၎င်း၏ hmac တန်ဖိုးကိုလက်ခံရရှိပြီးနောက်လက်ခံသူသည်အောက်ပါကုဒ်ကိုအတည်ပြုရန်အောက်ပါကုဒ်ကိုအသုံးပြုနိုင်သည်။
<?php
// လက်ခံဖိုင်ကိုလက်ခံရရှိကြောင်းယူဆ HMAC အဘိုး
$received_file = 'example_received.txt';
$received_hmac = 'ဖိုင်လွှဲပြောင်းကနေလက်ခံရရှိခဲ့သည် HMAC အဘိုး';
// အသုံးပြု相同的密钥和算法重新ရေတွက် HMAC အဘိုး
$calculated_hmac = hash_hmac_file('sha256', $received_file, 'my_secret_key');
// နိှုင်းယှသ် HMAC အဘိုး
if ($received_hmac === $calculated_hmac) {
echo "ဖိုင်အတည်ပြုအတည်ပြု,ဖိုင်ပြီးပြည့်စုံပြီနှင့်အတူအနှောင့်အယှက်မပေးပါဘူး!";
} else {
echo "ဖိုင်အတည်ပြုချက်မအောင်မြင်ပါ,ဖိုင်များနှင့်အတူအနှောင့်အယှက်ဖြစ်နိုင်သည်!";
}
?>
ဤအချိန်တွင်လက်ခံသူသည်ဖိုင်၏သမာဓိကိုပြန်လည်တွက်ချက်သည့် HMAC တန်ဖိုးနှင့်နှိုင်းယှဉ်ခြင်းအားဖြင့်ဖိုင်၏သမာဓိကိုသေချာစေသည်။ အကယ်. ဖိုင်အမျိုးအစားသည်မပြောင်းလဲပါက HMAC တန်ဖိုးနှစ်ခုသည်တသမတ်တည်းဖြစ်လိမ့်မည်။
အဓိကစီမံခန့်ခွဲမှု - သော့များ၏လုံခြုံရေးသည်အလွန်အရေးကြီးသည်။ ကီးပေါက်ကြားပါကဖိုင်၏သမာဓိကိုအာမခံမည်မဟုတ်ပါ။ ထို့ကြောင့်သော့များ၏သိုလှောင်မှုနှင့်ထုတ်လွှင့်ခြင်းလုပ်ငန်းစဉ်ကိုသေချာစေရန်လိုအပ်သည်။
Hash Algorithm Selection : Hash_Hmac_file သည် MD5 , Sha1 နှင့် Sha25 စသည့် hash algorithms များစွာကိုထောက်ပံ့သည်။ ၎င်းတို့အနက် Sha256 ကို SHA256 သည်အလုံခြုံဆုံးရွေးချယ်မှုဟုသတ်မှတ်သည်။ ထို့ကြောင့်လက်တွေ့ကျသော application များတွင် Sha256 ကိုအကြံပြုသည်။
ဖိုင်အရွယ်အစား - ကြီးမားသောဖိုင်များအတွက် hash_hmac_file ၏တွက်ချက်မှုသည်အချိန်အနည်းငယ်ကြာနိုင်သည်။ အကယ်. ဖိုင်သည်အလွန်ကြီးမားပါကသင်၏ကုဒ်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်သို့မဟုတ်ပိုမိုထိရောက်သော hash တွက်ချက်မှုနည်းလမ်းကိုအသုံးပြုရန်လိုအပ်နိုင်သည်။
အချို့သော application တစ်ခုတွင်ဖိုင်များကို URLs များမှတဆင့်ဝင်ရောက်ရန်လိုအပ်နိုင်ပါသည်။ URL ရှိ domain name သည် domain name ( M66.net ) ကိုအသုံးပြုရန်လိုအပ်သည်။ URLs များနှင့်ပေါင်းစပ်။ hash_hmac_file function ကိုအသုံးပြုရမည်ဖြစ်သည်။
<?php
// စာချုပ်စာတမ်း URL
$file_url = 'https://m66.net/files/example.txt';
// ရေတွက် URL စာချုပ်စာတမ်း的 HMAC အဘိုး
$hmac_from_url = hash_hmac_file('sha256', $file_url, 'my_secret_key');
// output တွက်ချက်မှုရလဒ်များ
echo "HMAC for the file URL is: " . $hmac_from_url;
?>
ဤဥပမာတွင်ဖိုင် URL သည် M66.net ကို ဒိုမိန်းအမည်အဖြစ်ယူမှတ်ပြီးဖိုင်၏သမာဓိနှင့်လုံခြုံမှုကိုသေချာစေရန် HMAC ကိုတွက်ချက်သောအခါ URL ကိုအသုံးပြုသည်။
ဖိုင်စစ်ဆေးခြင်းအတွက် hash_hmac_file function ကိုအသုံးပြုခြင်းသည်ဖိုင်လုံခြုံရေးနှင့်သမာဓိရှိမှုကိုသေချာစေရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ HMAC algorithm နှင့် key ကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဖိုင်များကိုဂီယာအနေဖြင့်ဖြည့်ဆည်းခြင်းမှကာကွယ်ရန်တားဆီးနိုင်သည်။ ဖိုင်တင်ခြင်း, download, download, download လုပ်ခြင်းသို့မဟုတ် URL နှင့်ပေါင်းစပ်ထားသည့်မြင်ကွင်းတွင်ရှိမရှိ hash_hmac_file သည် အားကောင်းသောဖိုင်မှတ်တမ်းများပေးနိုင်သည်။ developer များအနေဖြင့်ဤလုပ်ဆောင်ချက်ကိုနားလည်ခြင်းနှင့်အသုံးပြုခြင်းသည်မှန်ကန်စွာဖိုင်လွှဲပြောင်းလုံခြုံမှုကိုသေချာစေရန်အခြေခံဖြစ်သည်။