md5 funktioniert nicht über java
samurai
- javascript
Hi,
ich möchte ein per Formular abzuschickendes Passwort vorab mittels md5 verschlüssen.
Dazu hab ich folgendes Script der selfhtml Seite entnommen:
<html>
<head>
<title>Login</title>
<script language="javascript">
function doChallengeResponse() {
str = document.login.username.value+"*"+document.login.password.value;
document.login.response.value = md5(str);
document.login.password.value = "";
}
</script>
</head>
<body>
<form name="login">
Benutzer:
<input type="text" name="username" size=32 maxlength=32><br>
Passwort:
<input type="password" name="password" size=32 maxlength=32><br>
<input onClick="doChallengeResponse();" type="submit" name="submitbtn" value="Login now"><br>
MD5-Antwort: <input type="text" name="response" value="" size=32>
</form>
</body>
</html>
Nun zum Problem:
md5(str) funktioniert blöderweise nicht.
Das Script sollte aber eigentlich so in Ordnung sein, denn wenn ich md5(src) durch z.B. 5 ersetze, klappt es bestenst (d.h. $_GET["response"] == 5).
Warum fuktioniert md5 nicht über java bei mir?
Habe ich was übersehen?
Kann mir jemand helfen?
Selbst wenn ich schreibe:
...
...
<code>
document.login.response.value = md5(str);
document.login.password.value = "EIN WERT";
</code>
.....
dann müsste ja mindestens nach Abschicken des Formulars im Input namens Passwort der Wert "EIN WERT" stehen, oder nicht?
Aber dem ist nicht so. Die komplette Funktion wird ignoriert sobald md5 in ihr steht :(
Gibt es vielleicht irgendwelche Einstellungen die ich erst vornehem muss, damit es funzt?
DANKE vorab für jede Hilfe!
Gruß
Samurai
Hello,
Gibt es vielleicht irgendwelche Einstellungen die ich erst vornehem muss, damit es funzt?
Was sagt denn die Fehlerkonsole deines Browsers? Ich vermute mal stark, sie weist dich auf das Fehlen einer Funktion "md5" hin, kann das sein? Mit "selfhtml entnommen" meinst du den Artikel MD5-Hashing mit Javascript? Dort wird die Funktion ebenfalls definiert, du musst also sämtlichen Code von dort übernehmen/einbinden. Achte dann außerdem auf Groß/Kleinschreibung
MfG
Rouven
Was sagt denn die Fehlerkonsole deines Browsers? Ich vermute mal stark, sie weist dich auf das Fehlen einer Funktion "md5" hin, kann das sein?
Nein, es wird kein Fehler angezeigt.
sämtlichen Code von dort übernehmen/einbinden. Achte dann außerdem auf Groß/Kleinschreibung
Hab doch das Nötige übernommen. Es funktioniert ja wenn ich anstatt "md5(str)" z.B. "Hallo Welt" einfüge, dann ist der Wert von response "Hallo Wert". Nur die md5 oder MD5 will er nicht.
Gruß
samurai
Hello,
Hab doch das Nötige übernommen. Es funktioniert ja wenn ich anstatt "md5(str)" z.B. "Hallo Welt" einfüge, dann ist der Wert von response "Hallo Wert". Nur die md5 oder MD5 will er nicht.
NEIN hast du NICHT, das versuchen wir dir ja zu sagen. Du hast nur den Aufruf der Funktion MD5 übernommen. Die gibt es aber von Haus aus in JavaScript nicht, deswegen hat sich ja extra jemand die Mühe gemacht den netten Artikel zu schreiben. Da wird die Funktion erst eingeführt. Wenn du sie benutzen willst, dann musst du diesen Code ebenfalls übernehmen.
MfG
Rouven
OK Danke Euch!
ich habs mir wiedermal zu einfach gemacht.
Hi!
Warum fuktioniert md5 nicht über java bei mir?
Das hat absolut gar nichts mit Java zu tun.
Du setzt JavaScript ein. Bis auf den Namen und die Tatsache, daß beides Programmiersprachen sind, hat das nichts gemeinsam.
md5(str) funktioniert blöderweise nicht.
In deinem Script gibt es gar keine Funktion md5().
Wie sollte das denn auch funktionieren, wenn du eine Funktion aufrufst, die nicht existent ist?
<input onClick="doChallengeResponse();" type="submit" name="submitbtn" value="Login now"><br>
Von einem Ergebnis könntest du eh nichts sehen, weil du hier einen Submit-Button hast.
Wenn du aus dem <input type="submit">
ein <input type="button">
machen würdest, dann könnte das funktionieren.
Andernfalls rufst du deine Funktion auf, diese schreibt die Werte in die Felder und dann wird dein Formular abgeschickt.
Als Resultat erfolgt ein Reload der Seite und deine Felder sind wieder leer.
Schöner Gruß,
rob
In deinem Script gibt es gar keine Funktion md5().
Wie sollte das denn auch funktionieren, wenn du eine Funktion aufrufst, die nicht existent ist?
doch da
document.login.response.value = md5(str);
<input onClick="doChallengeResponse();" type="submit" name="submitbtn" value="Login now"><br>
Von einem Ergebnis könntest du eh nichts sehen, weil du hier einen Submit-Button hast.
Wenn du aus dem<input type="submit">
ein<input type="button">
machen würdest, dann könnte das funktionieren.
Andernfalls rufst du deine Funktion auf, diese schreibt die Werte in die Felder und dann wird dein Formular abgeschickt.
Als Resultat erfolgt ein Reload der Seite und deine Felder sind wieder leer.
OK, ich hab noch 'return false' hinzugefügt:
<input onClick="doChallengeResponse(); return false;" type="submit" name="submitbtn" value="Login now">
denn bei button statt submit passiert gar nichts.
aber md5 läuft immernoch nicht (d.h. $_GET[response] = "")
Danke &
Gruß
samu
In deinem Script gibt es gar keine Funktion md5().
doch da
document.login.response.value = md5(str);
herrje, da rufst du die Funktion doch bloß auf! Davon ist sie noch lange nicht definiert! Versteh es doch: Es reicht nicht, wenn du sagst, "Hol mal 10 Brötchen beim Bäcker um die Ecke", wenn dort gar kein Bäcker ist.
In deinem Beispiel versuchst du eine Funktion aufzurufen, die nirgends definiert wird.
Als Resultat erfolgt ein Reload der Seite und deine Felder sind wieder leer.
OK, ich hab noch 'return false' hinzugefügt:
<input onClick="doChallengeResponse(); return false;" type="submit" name="submitbtn" value="Login now">
Na prima. Dann beraubst du den submit-Button seines einzigen Daseinszwecks.
denn bei button statt submit passiert gar nichts.
aber md5 läuft immernoch nicht (d.h. $_GET[response] = "")
Natürlich. Dein Script wird gar nicht erst ausgeführt (kann es auch nicht), weil ihm die Funktion md5() fehlt.
So long,
Martin
So long,
Martin
OK, jetzt funzt es. DANKE Dir
Hi!
doch da
document.login.response.value = md5(str);
Nein. Das ist nur ein Funktionsaufruf.
Die Funktion existiert in deinem Script aber nicht.
aber md5 läuft immernoch nicht
Kann auch nicht.
Wenn du Funktionen aufrufst, die es nicht gibt, kann auch nichts passieren.
md5() ist keine JavaScript-interne Funktion!
Du könntest genauso gut die Funktion male_mir_ein_Bild() aufrufen und dich wundern, daß nichts passiert.
Schöner Gruß,
rob