[Java] Problem mit JavaScript (verschlüsselung)

Dieses Thema im Forum "Webentwicklung" wurde erstellt von smbdyclldlcs, 7. Juli 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 7. Juli 2007
    Problem mit JavaScript (verschlüsselung)

    Moin zusammen,
    ich bin grade dabei, mit javascript die vigenere-verschlüsselung zu implementieren... so weit bin ich bis jetzt:
    Code:
    <html>
    <head>
    <script language="Javascript">
    function encrypt(){
    var plaintext=document.forms[0].eingabe.value;
    var plain=plaintext.split("");
    var key=document.forms[0].key.value;
    var enckey=key.split("");
    var encrypted="";
    var zuhl=0;
    zuhl=Math.abs(zuhl);
    while(zuhl<plain.length){
    if(plain[zuhl]!=" "){
    plain[zuhl]=plain[zuhl].charCodeAt(0)}
    else{plain[zuhl]=1}
    plain[zuhl]=Math.abs(plain[zuhl]);
    zuhl++;
    }
    var zahl=0;
    zahl=Math.abs(zahl);
    while(zahl<enckey.length){
    enckey[zahl]=enckey[zahl].charCodeAt(0);
    enckey[zahl]=Math.abs(enckey[zahl]);
    zahl++;
    }
    var zohl=0;
    zohl=Math.abs(zohl);
    while(zohl<plain.length){
    if(plain[zohl]!=1){
    plain[zohl]=plain[zohl]+enckey[zohl-(enckey.length*(Math.ceil(zohl/(enckey.length-1))-1))];}
    encrypted=encrypted+plain[zohl]+" ";
    zohl++;
    }
    alert(encrypted);
    document.forms[0].output.value=encrypted;
    }
    </script>
    </head>
    <body>
    <form>
    Schl&uuml;ssel: <input type="text" name="key"><br>
    <textarea name="eingabe" cols="40" rows="20"></textarea><br>
    <input type="button" value="Verschl&uuml;sseln" onclick="encrypt()"><p>
    <textarea name="output" readonly cols="40" rows="20"></textarea><p>
    </form>
    </body>
    </html>
    leider treten noch zwei fehler auf: beim ersten buchstaben kommt immer NaN raus und wenn der zu verschlüsselnde text länger ist als der schlüssel werden alle über den schlüssel hinausgehenden buchstaben ebenfalls zu NaN...
     

  2. Anzeige
  3. #2 8. Juli 2007
    AW: Problem mit JavaScript (verschlüsselung)

    Soweit ich weiß muss der Schlüssel genauso lang wie der Text sein, man muss also den zu kurzen Schlüssel sooft wiederholen bis er der Textlänge entspricht.

    mfg r90
     
  4. #3 8. Juli 2007
    AW: Problem mit JavaScript (verschlüsselung)

    Genau das sollte der quelltext auch tun... den key immer wieder wiederholen. nur muss ich da irgendwo einen fehler eingebaut haben, es sind die zeilen:
    Code:
    while(zohl<plain.length){
    if(plain[zohl]!=1){
    plain[zohl]=plain[zohl]+enckey[zohl-(enckey.length*(Math.ceil(zohl/(enckey.length-1))-1))];}
    encrypted=encrypted+plain[zohl]+" ";
    zohl++;
    }
     
  5. #4 10. Juli 2007
    AW: Problem mit JavaScript (verschlüsselung)

    Hab ne lösung gefunden, hier mein finaler code:
    Code:
    <html>
    <head>
    <script language="Javascript">
    function encrypt(){
    var plaintext=document.forms[0].eingabe.value;
    var plain=new Array
    var key=document.forms[0].key.value;
    var enckey=new Array
    var encrypted="";
    var zahl=Math.abs(0);
    var zuhl=Math.abs(0);
    var zohl=Math.abs(0);
    
    while(zuhl<plaintext.length){
     if(plaintext.charCodeAt(zuhl)!=" "){
     plain[zuhl]=plaintext.charCodeAt(zuhl)}
     else{plain[zuhl]=1}
     plain[zuhl]=Math.abs(plain[zuhl]);
     zuhl++;
     }
    
    while(zahl<key.length){
     enckey[zahl]=key.charCodeAt(zahl);
     enckey[zahl]=Math.abs(enckey[zahl]);
     zahl++;
     }
    
    while(zohl<plain.length){
     if(plain[zohl]!=1){
     if(zohl!=0){
     plain[zohl]=plain[zohl]+enckey[zohl%enckey.length];}
     else{plain[0]=plain[0]+enckey[0];}
     }
     encrypted=encrypted+plain[zohl]+" ";
     zohl++;
     }
    alert(encrypted);
    document.forms[0].output.value=encrypted;
    }
    function decrypt(){
    var encrypted=document.forms[0].eingabe.value;
    var enc=encrypted.split(" ");
    var key=document.forms[0].key.value;
    var enckey=new Array
    var plaintext="";
    var zahl=Math.abs(0);
    var zohl=Math.abs(0);
    while(zahl<key.length){
     enckey[zahl]=key.charCodeAt(zahl);
     enckey[zahl]=Math.abs(enckey[zahl]);
     zahl++;
     }
    while(zohl<enc.length){
     if(enc[zohl]!=1){
     if(zohl!=0){
     enc[zohl]=enc[zohl]-enckey[zohl%enckey.length];}
     else{enc[0]=enc[0]-enckey[0];}
     plaintext=plaintext+String.fromCharCode(enc[zohl]);
     }
     else{ plaintext=plaintext+" "; }
     zohl++;
     }
    alert(plaintext);
    document.forms[0].output.value=plaintext;
    }
    </script>
    </head>
    <body>
    <form>
    Schl&uuml;ssel: <input type="text" name="key"><br>
    <textarea name="eingabe" cols="40" rows="20"></textarea><br>
    <input type="button" value="Verschl&uuml;sseln" onclick="encrypt()"> <input type="button" value="Entschlüsseln" onclick="decrypt()"><p>
    <textarea name="output" readonly cols="40" rows="20"></textarea><p>
    </form>
    </body>
    </html>
     
  6. #5 14. Juli 2007
    AW: Problem mit JavaScript (verschlüsselung)

    ~ moved & closed ~
     

  7. Videos zum Thema
Die Seite wird geladen...
Similar Threads - Java Problem JavaScript
  1. Antworten:
    3
    Aufrufe:
    1.313
  2. Antworten:
    4
    Aufrufe:
    1.249
  3. Antworten:
    3
    Aufrufe:
    1.612
  4. Antworten:
    4
    Aufrufe:
    534
  5. [JavaScript] Problem mit Code

    juppwatis , 28. September 2011 , im Forum: Webentwicklung
    Antworten:
    5
    Aufrufe:
    552