Maison  >  Article  >  développement back-end  >  PHP calcule le hachage MD5 du fichier

PHP calcule le hachage MD5 du fichier

WBOY
WBOYavant
2024-03-21 13:42:24903parcourir

Éditeur php Banana vous présente comment utiliser PHP pour calculer le hachage MD5 d'un fichier. Le hachage MD5 est un algorithme de chiffrement couramment utilisé qui peut convertir des données de longueur arbitraire en une valeur de hachage de longueur fixe. En PHP, vous pouvez utiliser la fonction intégrée `md5_file()` pour calculer la valeur de hachage MD5 d'un fichier, ce qui est simple et pratique. En calculant le hachage MD5 d'un fichier, l'intégrité du fichier peut être vérifiée, garantissant ainsi que le fichier n'a pas été falsifié pendant la transmission ou le stockage. Dans le développement réel, il s’agit d’une technique très utile qui peut améliorer la sécurité et la fiabilité des données.

PHP calcule le hachage MD5 d'un fichier

MD5 (Message Digest 5) est un algorithme de cryptage unidirectionnel qui convertit les messages de n'importe quelle longueur en une valeur de hachage de 128 bits de longueur fixe. Il est largement utilisé pour garantir l’intégrité des fichiers, vérifier l’authenticité des données et créer des signatures numériques.

Calculer le hachage MD5 du fichier en PHP

php propose plusieurs méthodes pour calculer le hachage MD5 d'un fichier :

Utilisez la fonction md5_file() La fonction

calcule directement la valeur de hachage MD5 du fichier et renvoie une chaîne md5_file() hexadécimale de 32 caractères  :

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

Utilisez la fonction hash_file() La fonction

offre plus de flexibilité, permettant de spécifier l'algorithme de hachage à utiliser (y compris MD5) : hash_file()

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

Utilisez la classe FileHash La classe

fournit une interface basée sur les objets pour calculer les valeurs de hachage des fichiers, y compris MD5 : FileHash

<?php
use HashidsHashids;

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

Vérifier l'intégrité des fichiers

La valeur de hachage MD5 peut être utilisée pour vérifier que le fichier est complet et n'a pas été falsifié. Toute différence peut être détectée en comparant le hachage du fichier d'origine avec celui du fichier téléchargé ou transféré.

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

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

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

Notes

    MD5 n'est qu'un algorithme de hachage unidirectionnel et le fichier original ne peut pas être récupéré à partir de la valeur de hachage.
  • MD5 est sujet aux collisions, où deux fichiers différents ont la même valeur de hachage.
  • MD5 a été jugé non sécurisé
  • et n'est pas recommandé pour les applications critiques en matière de sécurité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer