Moin
Die Passwort-Abfrage über Client-seitige Script-Anwendungen ist prinzipiell nicht möglich, da der Besucher ja - wenn er sich auskennt - das Script auslesen und dort das Passwort finden kann.
Nicht die volle Wahrheit, aber im Prinzip auch nicht ganz falsch
Einzige Möglichkeit: zufälligen Text generieren und das erwartete Passwort zum Verschlüsseln dieses Textes verwenden. Bei Eingabe eines Passworts wird der Text entschlüsselt und mit dem Ursprungstext verglichen. Nur wenn der ver- und wieder entschlüsselte Text übereinstimmen, war das Passwort richtig. Dabei muss das Passwort selbst nicht in das Script übernommen werden.
Naja, nur das so ziemlich jeder symmetrische Verschlüsselungsalgorithmus einfache Angriffe erlaubt, wenn Klartext und Geheimtext bekannt sind, noch dazu in voller Länge.
Evt. besser ist es da das Passwort mit sich selbst zu verschlüsseln(bitte kein XOR! ;), evt. noch mit etwas Salz zu würzen und voila, du hast die Standard-crypt()-Funktion. Das ist aber auch nicht mehr das Gelbe vom Ei.
Die richtige Lösung wäre dann einen Hashing-Algorithmus wie MD5 zu benutzen und das Passwort und eine kräftige Portion Salz damit zu Hashen und den Hash und das Salz zu speichern. Damit hast du gute Chancen auch der NSA zu widerstehen.
Also: Zufällige Zeichenkette generieren, ruhig etwas länger als das Passwort. Dann die Zeichenkette _hinter_ das Passwort hängen, durch MD5() jagen und den entstehenden Hash zusammen mit der zufälligen Zeichenkette irgendwo speichern. Bei der Passwortüberprüfung einfach nochmal die gespeicherte Zeichenkette (das 'Salz') hinter das eingegebene Passwort hängen und MD5() machen. Den nun entstehenden Hash mit dem gespeicherten Hash vergleichen und schauen ob sie übereinstimmen.
Die MD5()-Funktion liefert dir so ziemlich jede serverbasierte Sprache fertig mit (z.B. http://www.php.net/manual/de/function.md5.php) und für JavaScript gibt es einen Feature-Artikel (sehr nützlich, imho): http://aktuell.de.selfhtml.org/artikel/javascript/md5/index.htm.
--
Henryk Plötz
Grüße aus Berlin