နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်သမာဓိစောင့်သိမှုရှိမရှိအတည်ပြုရန်ဖိုင်ကိုအတည်ပြုရန်လိုအပ်သည်။ ဘုံနည်းလမ်းတစ်ခုမှာဖိုင်၏ MD5 တန်ဖိုးကိုနှိုင်းယှဉ်ရန်ဖြစ်သည်။ PHP သည် MD5_File () function ကိုထောက်ပံ့ပေးသည် ။ ထို့ကြောင့်ဤပလက်ဖောင်းနှစ်ခုအားဖြင့်တွက်ချက်သည့် MD5 တန်ဖိုးများရှိပါသလား။ ၎င်းကိုနှိုင်းယှဉ်နိုင်ပါသလား။ ဤဆောင်းပါးသည်နိယာမ, အသုံးပြုမှုဥပမာနှင့်အမှန်တကယ်နှိုင်းယှဉ်ချက်သုံးခုကိုကဏ် three သုံးခုမှခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
MD5_File () PHP တွင် MD5 function သည်ဖိုင်တစ်ခုပါအကြောင်းအရာများကိုအလေးထားပြီး 32-bit hexadecimimal string ကိုပေးရန်အသုံးပြုသော built-in function တစ်ခုဖြစ်သည်။
အသုံးပြုမှုဥပမာ:
<?php
$file = 'example.txt';
$md5 = md5_file($file);
echo "MD5တန်ဖိုး:" . $md5;
?>
ဤဥပမာတွင် MD5_File () သည် ဖိုင်တစ်ခုလုံးကိုဖတ်ပြီး MD5 တန်ဖိုးကိုတွက်ချက်သည်။ ပုံမှန်ကစာလုံးအသေး 32-bit hexadecimal string ကိုပြန်ပို့သည်။
Python သည် hashlib module မှတဆင့်အကောင်အထည်ဖော်နိုင်သည့်ဖိုင်တစ်ခု၏ MD5 တန်ဖိုးကိုအလွယ်တကူတွက်ချက်နိုင်သည်။
import hashlib
with open("example.txt", "rb") as f:
md5 = hashlib.md5()
while chunk := f.read(8192):
md5.update(chunk)
print("MD5တန်ဖိုး:", md5.hexdigest())
PHP နှင့်နှိုင်းယှဉ်ပါက Python သည် Memory စားသုံးမှုကိုလျှော့ချရန်ကြီးမားသောဖိုင်များကိုပိတ်ဆို့ခြင်းကိုအလေးထားသည်။
သီအိုရီအရ MD5_File () နှင့် Python's Hashlib.md5 () သည် MD5 hash algorithm (RFC 1321) ကိုအသုံးပြုပါ။
ကျွန်ုပ်တို့သည်တူညီသောဖိုင်တစ်ခုကိုပြင်ဆင်နိုင်ပြီး Php နှင့် Python တွင် MD5 တန်ဖိုးများကိုတွက်ချက်နိုင်သည်။
ဖိုင်အကြောင်းအရာသည်အောက်ပါအတိုင်းဖြစ်သည် (ဥပမာ .txt):
Hello, this is a test file for MD5 hashing.
PHP output ကို:
<?php
echo md5_file('example.txt');
// ထုတ်လုပ်ခြင်း:1a79a4d60de6718e8e5b326e338ae533
?>
Python output:
import hashlib
with open("example.txt", "rb") as f:
print(hashlib.md5(f.read()).hexdigest())
# ထုတ်လုပ်ခြင်း:1a79a4d60de6718e8e5b326e338ae533
output md5 တန်ဖိုးများသည်လုံးဝတသမတ်တည်းရှိကြောင်းကိုမြင်တွေ့ရနိုင်သည်။ ဆိုလိုသည်မှာ algorithm နှင့်အကောင်အထည်ဖော်မှုအဆင့်နှစ်ခုအကြားမရှိမဖြစ်ကွဲပြားမှုမရှိဟုဆိုလိုသည်။
function ၏တွက်ချက်မှုနည်းလမ်းသည်တသမတ်တည်းဖြစ်သော်လည်းအမှန်တကယ်အသုံးပြုမှုတွင် MD5 တန်ဖိုးများရှိနေသေးသည်။ ဘုံအကြောင်းပြချက်များမှာအောက်ပါအတိုင်းဖြစ်သည် -
Line Break ဇာတ်ကောင်ခြားနားချက် - 0 င်းဒိုးအနေဖြင့် CRLF ( \ R \ n ) သည် Windows အောက်တွင်ရှိနေစဉ် Linux သည်ပုံမှန်အားဖြင့် LF ( \ n ) ဖြစ်သည်။ အကယ်. ဖိုင်သည်စနစ်နှစ်ခုကြားရှိအက်ခရာပြတ်တောက်မှုမရှိပါက၎င်းသည် MD5 ကိုအကျိုးသက်ရောက်လိမ့်မည်။
coding ပြ issues နာများ - PHP နှင့် Python ဖိုင်များကိုကွဲပြားစွာဖတ်ပါ။ ဖိုင်များကိုစည်းလုံးညီညွတ်စွာဖတ်ရန် Binary Mode ကိုအသုံးပြုရန်အကြံပြုသည်။
ဖိုင်အပြည့်အဝမရေးသားပါ - တွက်ချက်မှုတွင်ဖိုင်ကိုမပိတ်ထားပါကသို့မဟုတ်ရေးသားခြင်းကိုမပိတ်ပါက၎င်းသည်မပြည့်စုံသောစာဖတ်ခြင်းနှင့်ရလဒ်ကွဲပြားခြားနားသောရလဒ်များကိုဖြစ်ပေါ်စေနိုင်သည်။
ဖိုင်လမ်းကြောင်းသို့မဟုတ်ခွင့်ပြုချက်ပြ Proble နာ - ဖိုင်လမ်းကြောင်းကိုမှားယွင်းစွာစာလုံးပေါင်း ခြင်း သို့မဟုတ်ခွင့်ပြုချက်မလုံလောက်ပါက၎င်းသည်စာဖတ်ခြင်း,
တခါတရံတွင်ကျွန်ုပ်တို့သည်အဝေးမှဖိုင်များအတွက် MD5 ကိုတွက်ချက်ရန်လိုအပ်သည်။ PHP တွင်၎င်းကိုဤကဲ့သို့သောအကောင်အထည်ဖော်နိုင်သည်။
<?php
$url = 'https://m66.net/sample.jpg';
$temp_file = tempnam(sys_get_temp_dir(), 'md5');
file_put_contents($temp_file, file_get_contents($url));
echo md5_file($temp_file);
unlink($temp_file);
?>
Python တွင်ဖိုင်ကိုဒေါင်းလုပ်လုပ်ရန် တောင်းဆိုမှုများကို သုံးနိုင်သည်။ ထို့နောက်တွက်ချက်သည်။
import hashlib, requests
url = "https://m66.net/sample.jpg"
r = requests.get(url)
md5 = hashlib.md5(r.content).hexdigest()
print(md5)
download လုပ်ထားသောဖိုင်အကြောင်းအရာသည်တသမတ်တည်းဖြစ်သရွေ့ MD5 တန်ဖိုးသည်လည်းတသမတ်တည်းရှိနေဆဲဖြစ်သည်။
MD5_File () PHP ၏ MD5 တန်ဖိုးရှိ Python ၏ hashlib တွက်ချက်မှုဖိုင်၏ MD5 တန်ဖိုးသည် algorithmically တသမတ်တည်းဖြစ်သည်။ သင်ဖတ်ရှုဖိုင်၏အကြောင်းအရာသည်တသမတ်တည်းရှိပြီးဖိုင် encoding method သည်တသမတ်တည်းရှိနေသမျှကာလပတ်လုံးသင်သေချာပေါက်သေချာသရွေ့ရလဒ်တွင်အဘယ်သူမျှမခြားနားချက်မရှိပါ။ Cross-Language hash ရလဒ်များကိုနှိုင်းယှဉ်သောအခါ developer များသည်ဖိုင်ဖုံဖတ်ခြင်းနည်းလမ်း, လိုင်းချိုးဖောက်မှုများနှင့် encoding format ကဲ့သို့သောအသေးစိတ်အချက်အလက်များကိုအာရုံစိုက်ရန်လိုအပ်သည်။
MD5 စိစစ်အတည်ပြုဘာသာစကားဖြင့်ဤဘာသာစကားနှစ်မျိုးများ၏စစ်ဆင်ရေးကျွမ်းကျင်မှုများကိုကျွမ်းကျင်မှု MD5 စိစစ်အတည်ပြုခြင်း MD5 စိစစ်အတည်ပြုခြင်းများပြုလုပ်ရန်ကူညီလိမ့်မည်။