File Data Integrity စိစစ်အတည်ပြုခြင်းသည်များသောအားဖြင့်ဖိုင်ကိုဂီယာသို့မဟုတ်သိုလှောင်မှုအတွင်းဖိုင်ကိုပျက်စီးစေခြင်း, ဖိုင်သမာဓိကိုသေချာစေရန် hash algorithm ကိုများသောအားဖြင့်အသုံးပြုလေ့ရှိသည်။ Hash Algorithm သည်ဖိုင်တစ်ခု၏ contents ကို "hash" သို့မဟုတ် "အကျဉ်းချုပ်" ဟုခေါ်သည့် fixed le leand string ထဲသို့ပြောင်းလဲစေသည်။ အကယ်. ဖိုင်အကြောင်းအရာပြောင်းလဲမှုများကိုပြောင်းလဲသွားပါက၎င်း၏သက်ဆိုင်ရာ hash တန်ဖိုးသည်လည်းပြောင်းလဲလိမ့်မည်။
PHP တွင် hash_final function ကို hash အခြေအနေ၏နောက်ဆုံးရလဒ်ကိုပြန်ပို့ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည်ပုံမှန်အားဖြင့် hash တွက်ချက်မှုများကိုကိုင်တွယ်ရန် Hash_init နှင့် hash_update နှင့် တွဲဖက်. အသုံးပြုလေ့ရှိသည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
string hash_final ( resource $context [, bool $raw_output = false ] )
$ Context သည် hash_init မှပြန်လာသော hash အခြေအနေတွင်အရင်းအမြစ်ဖြစ်သည်။
$ Raw_output သည် optional parameter တစ်ခုဖြစ်ပြီး၎င်းသည် default မှ default သို့ default ဖြစ်သည်။ ဆိုလိုသည်မှာ Hash Val သည် Hasxadecimalial format ဖြင့်ပြန်လည်ရရှိခြင်းဖြစ်သည်။ အကယ်. မှန်ကန် ရန်သတ်မှတ်ထားပါကမူရင်း Binary Hash Value ကိုပြန်ပို့သည်။
File_Props_contents သည် PHP တွင်ဖိုင်တစ်ခုပြုလုပ်သော FITE Operation function ဖြစ်သည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
$ filename သည်ရေးသားထားသောဖိုင်အမည်ဖြစ်သည်။
$ ဒေတာ သည်ရေးသားထားသောဒေတာဖြစ်သည်။
$ အလံများသည် ဖိုင်ကိုထပ်ခါတလဲလဲရေးခြင်း,
$ Context သည်ဖိုင်လည်ပတ်မှု၏အခြေအနေကိုကိုယ်စားပြုသော optional parameter တစ်ခုဖြစ်သည်။
hash_final နှင့် file_put_put_contence များကိုပေါင်းစပ်ပြီး, ဤတွင်အကောင်အထည်ဖော်မှုလုပ်ငန်းစဉ်၏အသေးစိတ်အဆင့်များမှာ -
Hash တွက်ချက်မှုကိုအစပြုပါ ။ ပထမအချက်မှာ hash algorithm ကို အသုံးပြု. hash algorithm ကိုသတ်မှတ်ရန် Hash algorithm ကိုစတင်ရန် hash algorithm ကိုစတင်ရန် Hash_init function ကိုအသုံးပြုသည် ။
ဖိုင်အကြောင်းအရာများနှင့်မွမ်းမံထားသော Hash Hash : ဖိုင်၏ contents ကိုဖတ်ရှုခြင်းနှင့်ဖတ်သည့်အခါတိုင်း hash တန်ဖိုးကို update လုပ်ရန် hash_update function ကိုဖတ်ပါ။
File သို့စာရေးပါ - ဖိုင်အကြောင်းအရာများကို file_put_propars function မှတဆင့်သတ်မှတ်ထားသောဖိုင်သို့ရေးပါ။
ဖိုင်၏ hash တန်ဖိုးကိုထုတ်လုပ်ရန် - နောက်ဆုံးတွင်နောက်ဆုံး hash တန်ဖိုးကို Hash_Final function မှတဆင့်ရယူပြီးဖိုင်၏တစ်စိတ်တစ်ပိုင်းအဖြစ်သိမ်းဆည်းထားခြင်းသို့မဟုတ်ဒေတာဘေ့စ်တွင်သိမ်းဆည်းထားသည်။
Hash_final နှင့် File_ProppoPline_Contontents အသုံးပြု. ဖိုင်ဒေတာသမာဓိစစ်ဆေးမှုကိုအကောင်အထည်ဖော်ရန်နမူနာကုဒ်ဖြစ်သည်။
<?php
// ဖိုင်လမ်းကြောင်း
$filePath = 'path/to/your/file.txt';
// Hash အခြေအနေကိုစတင်ပါ
$context = hash_init('sha256');
// ဖိုင်အကြောင်းအရာကိုဖတ်ရန်နှင့် Hash Value ကို update လုပ်ပါ
$fileContent = file_get_contents($filePath);
hash_update($context, $fileContent);
// နောက်ဆုံး hash တန်ဖိုးကိုရယူပါ
$hashValue = hash_final($context);
// ဖိုင်အကြောင်းအရာများကိုပစ်မှတ်ဖိုင်သို့ရေးပါ
$targetFilePath = 'path/to/your/destination/file.txt';
file_put_contents($targetFilePath, $fileContent);
// hash တန်ဖိုးများကိုဖိုင်သို့မဟုတ်ဒေတာဘေ့စ်သို့သိမ်းပါ(နောက်ဆက်တွဲစိစစ်အတည်ပြုသည်)
$hashFilePath = 'path/to/your/file_hash.txt';
file_put_contents($hashFilePath, $hashValue);
// output ကို hash တန်ဖိုး
echo "ဖိုင်၏ hash တန်ဖိုးဖြစ်ပါတယ်: " . $hashValue;
?>
ဖိုင်အကြောင်းအရာနှင့်သက်ဆိုင်ရာ hash တန်ဖိုးကိုသိမ်းဆည်းထားပြီးသည်နှင့်တပြိုင်နက်ဖိုင်၏သမာဓိကိုအောက်ပါအဆင့်များဖြင့်အတည်ပြုနိုင်သည်။
ဖိုင်အကြောင်းအရာကိုဖတ်ပါ ။ ပထမ ဦး စွာပစ်မှတ်ဖိုင်၏အကြောင်းအရာကိုဖတ်ပါ။
ဖိုင်၏ hash တန်ဖိုးကိုတွက်ချက်ရန် Hash Val ကိုတွက်ချက်ပါ ။ ထို့နောက်ဖိုင်၏ hash တန်ဖိုးကိုတွက်ချက်ရန်အလားတူ hash algorithm ကိုသုံးပါ။
နှိုင်းယှဉ် Hash : နောက်ဆုံးတွင်တွက်ချက်ထားသည့် hash တန်ဖိုးကိုသိမ်းဆည်းထားသော Hash Value နှင့်နှိုင်းယှဉ်ပါ။ အကယ်. နှစ်ခုသည်တသမတ်တည်းဖြစ်လျှင်၎င်းသည်ဖိုင်ကိုအနှောင့်အယှက်မပေးထားဟုဆိုလိုသည်။ အကယ်. ၎င်းသည်ကိုက်ညီမှုရှိပါက၎င်းသည်ဖိုင်၏အကြောင်းအရာများပြောင်းလဲသွားပြီဟုဆိုလိုသည်။
ဖိုင်သမာဓိကိုအတည်ပြုရန်ကုဒ်ဥပမာတစ်ခုမှာ -
<?php
// သိမ်းဆည်းထားသော Hash Value ကိုဖတ်ပါ
$storedHash = file_get_contents('path/to/your/file_hash.txt');
// ပစ်မှတ်ဖိုင်၏အကြောင်းအရာကိုဖတ်ပါ
$fileContent = file_get_contents('path/to/your/destination/file.txt');
// Hash အခြေအနေကိုစတင်ပါ并计算文件哈希值
$context = hash_init('sha256');
hash_update($context, $fileContent);
$calculatedHash = hash_final($context);
// Hash တန်ဖိုးများကိုနှိုင်းယှဉ်
if ($storedHash === $calculatedHash) {
echo "ဖိုင်သမာဓိအတည်ပြုစိစစ်အတည်ပြု,ဖိုင်ကိုအနှောင့်အယှက်မပေးထားပါ。";
} else {
echo "ဖိုင်သမာဓိစစ်ဆေးမှုအတည်ပြုချက်မအောင်မြင်ပါ,ဖိုင်ကိုအနှောင့်အယှက်ပေးခဲ့ကြပေမည်。";
}
?>
PHP ၏ Hash_final နှင့် File_Propin_Controts များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ရိုးရှင်းသောဖိုင်ဒေတာသမာဓိစစ်ဆေးမှုယန္တရားကိုအကောင်အထည်ဖော်နိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သိုလှောင်ခြင်းသို့မဟုတ်ဂီယာနေစဉ်အတွင်းဖိုင်၏အချက်အလက်များကိုသေချာစေရန်ဤနည်းလမ်းကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။ လုံခြုံရေးကိုတိုးတက်စေရန်အတွက် SHA256 သို့မဟုတ် Sha512 ကဲ့သို့သောလုံခြုံစိတ်ချရမှုနှင့်အတူဆေးကုသမှုခံယူခြင်းနှင့်ဖိုင်အချက်အလက်များ၏သမာဓိကိုကာကွယ်ရန်အခြားလုံခြုံရေးအစီအမံများကိုရွေးချယ်ရန်အကြံပြုသည်။