ฟังก์ชัน md5_file() ของ PHP

ตัวอย่าง

คำนวณค่าฉันท์รวมข้อความ MD5 ของไฟล์ข้อความ "test.txt":

<?php
$filename = "test.txt";
$md5file = md5_file($filename);
echo $md5file;
?>

ออกท้ายโค้ดดังนี้:

d41d8cd98f00b204e9800998ecf8427e

คำนิยามและวิธีใช้

ฟังก์ชัน md5_file() คำนวณค่าฉันท์รวมข้อความ MD5 ของไฟล์

ฟังก์ชัน md5_file() ใช้การรักษาความปลอดภัยของ RSA รวมถึงวิธีคำนวณ MD5 ฉันท์รวมข้อความ

ชี้แจงจาก RFC 1321 - วิธีคำนวณ MD5 ฉันท์รวมข้อความ: วิธีคำนวณ MD5 ฉันท์รวมข้อความจะใช้ข้อมูลขนาดใดก็ตามที่เป็นอุปกรณ์เข้ารหัสและแปลงเป็นค่าที่มีความยาว 128 บิตเพื่อแทนที่ข้อมูลที่เป็นอุปกรณ์เข้ารหัส หรือ "ฉันท์รวมข้อความ" และใช้ค่าที่แปลงเป็นอุปกรณ์เข้ารหัสเป็นผลลัพธ์ MD5 มีที่มาต้นแบบที่เป็นการออกแบบเพื่อโปรแกรมการลงลายมือชื่อดิจิตอล; ในโปรแกรมการลงลายมือชื่อดิจิตอลนี้ ไฟล์ที่มีขนาดใหญ่จะถูกเคมีด้วยวิธีที่มีความปลอดภัยก่อนการเคมี (กระบวนการเคมีนี้เป็นการใช้ประสาทลับในระบบรหัสสลับ [เช่น: RSA] และประสาทส่วนบุคคล)。

เพื่อคำนวณค่าเฉลี่ยศูนย์รวม MD5 ของข้อความ โปรดใช้ md5() ฟังก์ชัน。

รูปแบบ

md5_file(file,raw)
ตัวเลือก รายละเอียด
file จำเป็น. กำหนดไฟล์ที่ต้องการคำนวณ:
raw

เลือกตั้ง. ตัวเลือกประเภทบูลเลอร์ กำหนดรูปแบบการออกผลที่เป็นหกสิบหกหรือสองทศนิยม:

  • TRUE - รูปแบบ 16 ตัวอักษรสองทศนิยมแบบแรก
  • FALSE - โดยความนิยาม (default). 32 ตัวอักษรสิบหก

รายละเอียดเทคนิค

ค่าที่กลับคืน: ถ้าประสบความสำเร็จ จะกลับค่า MD5 hash ที่ได้รับ ถ้าล้มเหลวจะกลับ FALSE。
PHP รุ่น: 4.2.0+
บันทึกการปรับปรุง:

ใน PHP 5.0 มีการเพิ่ม raw ตัวเลือก

ตั้งแต่ PHP 5.1 สามารถใช้ md5_file() ด้วยการบำรุงทั้งหมด ตัวอย่าง: md5_file("http://w3cschool.com.cn/..")

ตัวอย่างเพิ่มเติม

ตัวอย่าง 1

เก็บ MD5 hash ของไฟล์ "test.txt" ในไฟล์:

<?php
$md5file = md5_file("test.txt");
file_put_contents("md5file.txt",$md5file);
?>

ตรวจสอบว่า "test.txt" ถูกเปลี่ยนแปลงแล้วหรือไม่ (คือ MD5 hash ถูกเปลี่ยนแปลงแล้วหรือไม่):

<?php
$md5file = file_get_contents("md5file.txt");
if (md5_file("test.txt") == $md5file)
  {
  echo "The file is ok.";
  }
else
  {
  echo "The file has been changed.";
  }
?>

ออกท้ายโค้ดดังนี้:

ไฟล์นี้ถูกต้อง