2009-03-23 3 views
2

Wenn dies möglich war vor dem Posten eines Formulars, kann es speichern ich muss die Datei auf meinem Server hochladen ...Ist es möglich, die SHA1 ID einer Datei mit Javascript zu berechnen?

+0

mögliches Duplikat von [Wie erhalte ich einen Hash-Wert einer Benutzerdatei mit Javascript oder Flash?] (Http://stackoverflow.com/questions/539488/how-would-i-get-a-hash-value -of-a-users-file-with-javascript-or-flash) – cHao

Antwort

1

Um dies zu tun, müssten Sie die binären Informationen der Datei in JavaScript laden. Was nicht möglich ist.

Aber here's eine Implementierung von SHA1 in JavaScript.

0

Nein, Sie können nicht über einen lokalen Computer mit JavaScript auf eine Datei zugreifen.

Sie müssen es zuerst auf den Server hochladen, dann überprüfen Sie die Prüfsumme der Datei.

0

Nicht nativ, nein, und das ist sowieso eine schlechte Idee. Jedes Byte in der Datei muss von Javascript in den Speicher geladen werden, und Sie müssen einen Weg finden, es dorthin zu bringen.

Wenn Sie dies tun müssen und Sie die binären Informationen der Datei in Ihr Skript einfügen können, können Sie there's plenty Skripte von Drittanbietern verwenden. Here's one, zum Beispiel. wenn in der Tat seine eine tragfähige Lösung

+0

Zweiter Link ist kaputt. Feste Verbindung mit sha1: http://pajhome.org.uk/crypt/md5/index.html – loentar

1

Es ist möglich, SHA1 zu verwenden, wenn die Leistung nicht die beste sein wird ...

Für etwas mehr als ein paar hundert KB ist müssen Sie einige Benchmarks ausführen und bestimmen .

Siehe this link für eine gute Umsetzung (Passpack und nicht wenige OS-Projekte es verwenden)

Edit: Wie andere haben bereits geantwortet, tatsächlich den Inhalt der Datei bekommen kann eine ganz andere Angelegenheit sein - es sei denn, Sie verwenden etwas wie Google Gears oder Adobe AIR sollte es praktisch unmöglich sein.

0

Sie könnten dies mit einem Java-Applet tun. Ich habe noch nie einen von ihnen benutzt, aber es gibt ziemlich viele Java-Upload-Applets. Der Hash-Algorithmus selbst ist mit Java verfügbar und kann über java.security.MessageDigest aufgerufen werden. Wenn der Client das Java-Plug-In nicht zur Verfügung hat, können Sie einfach zu einem normalen Upload und Hash auf dem Server zurückkehren.

Eine Randnotiz: Je nachdem, warum Sie die Datei hashen, sollten Sie sie nach dem Upload wahrscheinlich erneut auf dem Server hashen, anstatt dem Client zu vertrauen.

Verwandte Themen