MD5 einer Datei mit PHP bestimmen
Folgendes Snippet berechnet den MD5-Hash einer Datei auf dem Server:
<?php
// fuer PHP < 4.2.0
if(!function_exists('md5_file')) {
function md5_file($file) {
return md5(file_get_contents($file));
}
}
echo 'datei.txt '.md5_file('datei.txt');
?>
Dies ist offensichtlich sehr einfach, das Snippet dient hauptsächlich um zu verdeutlichen, dass es so einfach ist.
Ab PHP 4.2.0 ist md5_file() in PHP integriert, sodass es direkt verwendet werden kann.
Vor allem bei großen Dateien ist es sinnvoll die MD5-Hashs z.B. in einer .md5-Datei oder Datenbank zu cachen, damit nicht bei jedem Seitenaufruf die Datei durch das PHP-Script neu eingelesen werden muss.
Mittels der PHP-Funktion strtoupper() lassen sich die MD5-Hashs wenn gewüscht leicht in Großbuchstaben "umwandeln".
MD5-Summen unter Windows berechnen und überprüfen
Da diese Seite unter Google in diesem Zusammenhang erscheint, zwei Links zu Tools welche das erledigen (für Windows Vista, XP etc.):
- MD5summer: Kostenloses kleines Tool, berechnet und validiert MD5-Summen und Dateien
- Freecommander: Kostenloser Dateicommander im Stil des Norton Commanders. Kann u.a. MD5-Hashs und -Dateien berechnen und validieren.
MD5 mit JavaScript
JavaScript hat keine md5-Funktion so wie php. Allerdings gibt es in JavaScript geschriebene Implementierungen,
die sich einfach einbinden lassen.
Dazu ist diese auf selfhtml aktuell veröffentlichte empfehlenswert.
Um die Dateigröße zu verringern, kann man z.B. JSmin verwenden (aber die Copyright-Kommentare beibehalten).
Was ist MD5?
Das erklärt Wikipedia recht gut.