Rumah > pembangunan bahagian belakang > tutorial php > PHP mengira cincangan fail MD5

PHP mengira cincangan fail MD5

WBOY
Lepaskan: 2024-03-21 13:44:02
ke hadapan
975 orang telah melayarinya

editor php Banana memperkenalkan anda cara menggunakan PHP untuk mengira cincangan MD5 sesuatu fail. Pencincangan MD5 ialah algoritma penyulitan yang biasa digunakan yang boleh menukar data panjang sewenang-wenangnya kepada nilai cincang panjang tetap. Dalam PHP, anda boleh menggunakan fungsi terbina dalam `md5_file()` untuk mengira nilai cincangan MD5 fail, yang mudah dan mudah. Dengan mengira cincangan MD5 fail, integriti fail boleh disahkan, memastikan fail itu tidak diganggu semasa penghantaran atau penyimpanan. Dalam pembangunan sebenar, ini adalah teknik yang sangat berguna yang boleh meningkatkan keselamatan dan kebolehpercayaan data.

PHP mengira cincangan MD5 bagi fail

MD5 (Message Digest 5) ialah penyulitan sehala algoritma yang menukarkan mesej dari sebarang panjang kepada nilai cincang 128-bit panjang tetap. Ia digunakan secara meluas untuk memastikan integriti fail, mengesahkan ketulenan data dan mencipta tandatangan digital.

Kira cincangan fail MD5 dalam PHP

php menyediakan berbilang kaedah untuk mengira cincangan MD5 fail:

Gunakan fungsi md5_file()

Fungsi

md5_file() mengira secara langsung nilai cincangan MD5 fail dan mengembalikan rentetan perenambelasan 32 aksara :

<?php
$filename = "file.txt";
$md5hash = md5_file($filename);
echo $md5hash; // 输出文件的 MD5 散列值
?>
Salin selepas log masuk

Gunakan fungsi hash_file()

Fungsi

hash_file() memberikan lebih fleksibiliti, membolehkan untuk menentukan algoritma pencincangan untuk digunakan (termasuk MD5):

<?php
$filename = "file.txt";
$md5hash = hash_file("md5", $filename);
echo $md5hash; // 输出文件的 MD5 散列值
?>
Salin selepas log masuk

Gunakan kelas FileHash

FileHash kelas menyediakan antara muka berasaskan objek untuk mengira nilai cincang fail, termasuk MD5:

<?php
use HashidsHashids;

$filename = "file.txt";
$hasher = new HashidsFileHash();
$md5hash = $hasher->hashFile($filename, "md5");
echo $md5hash; // 输出文件的 MD5 散列值
?>
Salin selepas log masuk

Sahkan integriti fail

Nilai cincang MD5 boleh digunakan untuk mengesahkan bahawa fail telah lengkap dan tidak diusik. Sebarang perbezaan boleh dikesan dengan membandingkan cincangan fail asal dengan cincangan fail yang dimuat turun atau dipindahkan.

<?php
$originalFile = "original.txt";
$downloadedFile = "downloaded.txt";

$originalHash = md5_file($originalFile);
$downloadedHash = md5_file($downloadedFile);

if ($originalHash === $downloadedHash) {
// 文件未被篡改
} else {
// 文件已被篡改
}
?>
Salin selepas log masuk

Nota

  • MD5 hanyalah algoritma pencincangan sehala dan fail asal tidak boleh dipulihkan daripada nilai cincang.
  • MD5 terdedah kepada perlanggaran, di mana dua fail berbeza mempunyai nilai cincang yang sama.
  • MD5 telah dianggap tidak selamat dan tidak disyorkan untuk aplikasi kritikal keselamatan.

Atas ialah kandungan terperinci PHP mengira cincangan fail MD5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan