GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Unter Windows, Linux und Mac wird für dasselbe Bild ein unterschiedlicher Hash-Wert erstellt

Windows und Linux haben unterschiedliche Zeilenenden, \r\n und \n . Wenn also die Datei gelesen wird, ist der Inhalt der Dateien unterschiedlich.

Versuchen Sie, eine Textdatei ohne neue Zeile oder eine Binärdatei hochzuladen. Überprüfen Sie auch den Unterschied in den gelesenen Bytes. Es sollte gleich der Anzahl der neuen Zeilen in der nächsten Datei sein.


Ok, ich habe eine Antwort auf meine Frage gefunden, ich weiß immer noch nicht, warum in Windows und Linux zwei verschiedene Hashes für denselben Code generiert wurden

move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $newname); 
    "Stored in: " . "upload/" . $_FILES["file"]["name"];
    $image = "upload/" . $newname;
    $sign = md5(file_get_contents($image));//This is code block that i was implmenting before solution

Was ich hier versucht habe, war, dass ich meinen obigen Code durch den folgenden Code

ersetzt habe
 move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $newname);
        "Stored in: " . "upload/" . $_FILES["file"]["name"];
        $image = "upload/" . $newname;
        $sign = md5_file($image);// Changed here

Daher denke ich, dass Hash-Werte gleich sein können, wenn sie von md5() generiert werden aber wenn diese Funktion eine Datei als Eingabe akzeptiert, werden Hash-Werte anders berechnet, ich weiß nicht, ob dies ein PHP-seitiges Problem oder wirklich ein Problem auf Betriebssystemebene ist, aber wenn ich mit der Verwendung von md5_file() fortfahre Für das Generieren des Hashs der Datei erhalte ich keinen anderen Hash.


Linux
  1. Szyszka – Neuer schneller Batch-Dateiumbenenner für Linux, Windows, Mac

  2. So generieren Sie eine Prüfsumme einer Datei mit verschiedenen SHA2-Hash-Funktionen in Linux und Windows

  3. Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0?

  4. Linux – Zusammenführen von /usr/bin und /usr/sbin in /bin (gnu/linux)?

  5. Was sind /dev/zero- und /dev/null-Dateien in Linux

Eine Einführung in Hashing und Prüfsummen in Linux

/proc/cpuinfo- und /proc/meminfo-Dateien unter Linux

Ein Windows-Typ in einer Linux-Welt:Benutzer- und Dateiberechtigungen

So konvertieren Sie eine .pem-Datei in eine .ppk-Datei unter Windows und Linux

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

So installieren und konfigurieren Sie das Windows-Subsystem für Linux