ฟังก์ชัน 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 |
เลือกตั้ง. ตัวเลือกประเภทบูลเลอร์ กำหนดรูปแบบการออกผลที่เป็นหกสิบหกหรือสองทศนิยม:
|
รายละเอียดเทคนิค
ค่าที่กลับคืน: | ถ้าประสบความสำเร็จ จะกลับค่า 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."; } ?>
ออกท้ายโค้ดดังนี้:
ไฟล์นี้ถูกต้อง