Wenn ich einen Hash für eine auf einer Netzwerkfreigabe gespeicherte Datei generiere, wird die gesamte Datei über die Leitung gesendet? Wenn nicht warum?

485
Donovan

Szenario: Ich möchte einen Hash einer auf einem Remote-Server gespeicherten Datei generieren. In diesem Beispiel wird die Windows-Dateifreigabe sowohl für den Client als auch für den Server verwendet. Als Client finde ich die Datei in der Remote-Dateifreigabe. Ich verwende dann irgendein Dienstprogramm, um einen Hash der betreffenden Datei zu generieren. Um nur klar zu sein, suchen wir nach einem Hash der Datei und nicht nach ihrem Pfad. Muss die vollständige Kopie der Datei also über die Leitung laufen, damit wir die Hash-Aufgabe abschließen können?

0
Nicht sicher, ob es sich um einen Serverfehler handelt oder nicht. Donovan vor 6 Jahren 0
Fragen Sie, ob der Hash zuerst beim Client berechnet wird oder dass die verschlüsselte Datei über die Leitung gesendet wird, bevor Sie den Hash zum Entschlüsseln anwenden können? Wo befindet sich die Klartextdatei? SDsolar vor 6 Jahren 0
Wenn Sie einen Befehl / ein Skript auf dem Server ausführen können, um Hashes zu berechnen und an Sie zurückzusenden, werden die Dateien offensichtlich nicht über das Netzwerk übertragen. ddbug vor 6 Jahren 0
Es wird keine Verschlüsselung angenommen. Sagen wir für dieses Beispiel, dass es eine .ISO ist, die auf einer Windows-Freigabe sitzt. Wir sind der Client und haben keinen administrativen Zugriff auf den Server. Wir versuchen lediglich, einen Hash der Datei als eindeutigen Bezeichner zu verwenden. Donovan vor 6 Jahren 0
Wie würden Sie erwarten, dass ein lokaler Prozess den Hash berechnet, ohne die Datei zu lesen? harrymc vor 6 Jahren 0
Die Frage war, einen Streit beizulegen. Meine Annahme war, dass die Datei lokal kopiert werden musste, um den Hash zu berechnen. Die andere Person, mit der ich mich unterhielt, sagte, dass sie innerhalb von 10 Sekunden einen Hashwert aus einem entfernt gespeicherten ISO-Inhalt erhalten konnte. Ich argumentierte, dass ihm einige Details fehlten, weil er nicht erklären konnte, wie der Hash so schnell berechnet wurde. Für die andere Person bedeutete dies nur, dass jede entfernte Datei so schnell gehasht werden konnte. Für mich heißt es nur, wenn es stimmt, dann fehlte ein Detail in der Funktionsweise des Systems. Donovan vor 6 Jahren 0

2 Antworten auf die Frage

2
davidgo

Ja, die gesamte Datei wird heruntergezogen, da die Berechnung des Hash auf dem lokalen System erfolgt.

1
Charles Burge

Ich habe gerade ein Experiment mit dem Powershell- Get-FileHashCmdlet ausgeführt, und meine Ergebnisse legen nahe, dass Davidgo richtig ist. Zuerst habe ich ein 4,5 GB großes ISO-Image gehasht, das auf einem Remote-Server gehostet wurde (insbesondere eine CIFS-Freigabe auf einem Netapp-Filer). Ich habe in 2 Minuten und 17 Sekunden ein Ergebnis erzielt. Dann habe ich die Datei auf meine lokale Festplatte kopiert. Dieser Kopiervorgang dauerte 1 Minute und 43 Sekunden. Ich habe dann den Hash-Vorgang erneut ausgeführt und in 1 Minute und 7 Sekunden ein Ergebnis erzielt. Diese Zahlen summieren sich nicht ganz, aber ich weiß nicht warum. In jedem Fall war das Hashing einer lokalen Datei um 50% schneller.