Kurt Norgaz: Pendant zu crypt() aus PHP in JavaScript???

Hi...

bevor ich ein Passwort per Formular übersende würde ich es gerne per JavaScript über

onSubmit="return CryptPWBeforeFirstSend()" im Form-Tag

verschlüsseln.

Ansich kein Problem, nur möchte ich dazu in JavaScript die gleiche Verschlüsselungsmethode benutzen, welche auch im crypt()-Befehl von PHP benutzt wird.

Gibt es also ein Pendant in JavaScript zur Funktion crypt() in PHP???

In der Doku zu JavaScript habe ich nichts gefunden.

Es würde auch reichen, wenn man irgendwo die Routine erhalten würde, die in crypt() von PHP benutzt wird, damit sie in JavaScript portiert werden kann.

Dank im Voraus,

bye, Kurt

  1. Hoi,

    bevor ich ein Passwort per Formular übersende würde ich es gerne
    per JavaScript über

    onSubmit="return CryptPWBeforeFirstSend()" im Form-Tag

    verschlüsseln.
    Ansich kein Problem, nur möchte ich dazu in JavaScript die
    gleiche Verschlüsselungsmethode benutzen, welche auch im
    crypt()-Befehl von PHP benutzt wird.

    Warum? Das das keinerlei Sicherheit bietet (im Gegenteil), ist dir
    klar? Man braucht fuer eine Autentifizierung dann nichtmal mehr das
    richtige Passwort, sondern nur das crypt()-pendant dazu... das
    erspart den Brute-Force-Algorithmus. Sinnvoll waere ein Algorithmus
    wie DES oder so, einer, der wieder entschluesselt werden kann.

    Gibt es also ein Pendant in JavaScript zur Funktion crypt() in
    PHP???
    In der Doku zu JavaScript habe ich nichts gefunden.

    Nein. Das wirst du selber bauen muessen. Interessant dazu ist
    vielleicht der Artikel

    http://aktuell.de.selfhtml.org/artikel/javascript/md5/index.htm

    Es würde auch reichen, wenn man irgendwo die Routine erhalten
    würde, die in crypt() von PHP benutzt wird, damit sie in
    JavaScript portiert werden kann.

    PHP ist open source, die glibc auch, viele Unizes auch -- was hindert
    dich daran, genau das zu tun?

    Gruesse aus dem schoenen LH,
     c.j.k

    1. Hi Christian...

      Danke für den Denkansatz :-)

      Warum? Das das keinerlei Sicherheit bietet (im Gegenteil), ist dir
      klar? Man braucht fuer eine Autentifizierung dann nichtmal mehr das
      richtige Passwort, sondern nur das crypt()-pendant dazu... das
      erspart den Brute-Force-Algorithmus. Sinnvoll waere ein Algorithmus
      wie DES oder so, einer, der wieder entschluesselt werden kann.

      Nun gut. Gesetz den Fall, ich habe eine eigene Verschlüsselungsroutine. Wenn der Source des PHP-Scriptes jedoch offen ist oder sein wird, dann hat doch auch jeder, der es möchte, Zugriff auf die Ver- und Entschlüsselungsroutine.

      Dieses Problem gilt doch grundsätzlich für alle Scripte, deren Source offen ist oder mache ich da einen Denkfehler.

      Ist es bei dem genannten md5-Script eigentlich auch möglich, einen eigenen String zu integrieren, den der Admin des Scriptes selber in einer Datei ablegen kann??? Ich habe es nicht gesehen. Bei der Beschreibung des md5-Befehles in der PHP-Doku finde ich auch keine Möglichkeit, eine Variable, wie bei crypt zu übergeben.

      Sicher... Wenn dies der Fall wäre, könnte ich es jedem Admin des Scriptes selbst überlassen, einen eigenen String zu definieren, der in die Verschlüsselungsroutine aufgenommen wird. Dann wäre es sicherlich schwieriger, das Passwort zu entschlüsseln, auch wenn der Source bekannt ist.

      Oder mache ich einen Denkfehler???

      Ist Dir eine Verschlüsselungsroutine bekannt, der man einen solchen String übergeben kann???

      Entschlüsseln brauche ich nämlich nicht. Nur Verschlüsseln.

      Dann könnte man doch sicherlich das Ergebnis der md5-Verschlüsselung noch einmal mit einem String zusammenfügen, erneut md5 kryptieren und erst dann Versenden.

      Das müsste doch sicherer sein, selbst wenn der Source bekannt ist oder???

      PHP ist open source, die glibc auch, viele Unizes auch -- was hindert
      dich daran, genau das zu tun?

      Stimmt. Habe nicht daran gedacht :-(

      Aber bevor ich zu suchen beginne. Ist Dir eine Adresse bekannt, wo ich den Source direkt bekomme???

      Thanx, bye, Kurt

      1. Hallo,

        zu welchem Zweck willst du mit JS verschlüsseln? Was ist wenn ein User JS abgeschalten hat?

        Mit direkten Links kann ich dir nicht dienen, aber unter www.php.net ist sicher etwas dazu zu finden...

        Verschlüsselung ist ein kompliziertes Mathematisches Verfahren. Es gibt einige Verfahren, deren Algorithmus zum Ver- und Entschlüsseln bekannt ist. z.B. RSA
        die Sicherheit beruht darauf, die Informationen mit einem genügend großen Schlüssel zu verschlüsseln. Das Errechnen des Schlüssels ist derart mathematisch aufwendig (Faktorisierung), das ein Ergebnis nicht in akzeptabler Zeit erzielt werden kann.

        Odium