tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
NEIN
ANTWORTEN
18
ZUGRIFFE
1039
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    Registriert seit
    Dec 2001
    Ort
    Hannover
    Beiträge
    4.234
    Original geschrieben von Fabian Hofmann
    Was ich nicht verstehe, ist: Warum machst du den neuen String in ein Array und
    joinst diesen dann?

    Es ist doch viel einfach, einfach einen zweiten String anzulegen, den ersten dann
    in einer Schleife wie bisher durchgehen, und mit charCodeAt den ASCII Wert
    herauszusuchen und um x zu erhöhen (wahlweise mit limitierung auf das Alpha-
    bet). Danach schreibst du den manipulierten ASCII Wert mit fromCharCode in
    den neuen String.

    Zu den Fehler im Script:
    Z.B. das hier:
    Code :
    1
    
    if((aMail[z] - sKey) < 1)
    Das sollte deswegen nicht gehen, weil charAt keinen ASCII Wert, sondern wieder
    einen Buchstaben zurückliefert.

    Auf die Gefahr hin, das zu machen, was du eigentlich vermeiden wolltest, hab
    ich auch mal eine Funktion gebaut:
    Nein, ist schon ok. Ich finde den Thread superinteressant!
    Die unterschiedlichen Lösungen sind faszinierend. Mir ging es nur darum, das System so einfach (mit Betonung auf "einfach") wie möglich umzusetzen. Dazu gehört kein ASCII zu verwenden. Die Buchstaben spielen ja auch eine nebensächliche Rolle.

    Sicherlich habe ich genug Fehler in das Script gesetzt die mir nicht bewußt waren, wie denn auch. Was mich zusätzlich fasziniert sind die selbst geschriebenen Lösungen für fehlende Funktionen, die in PHP selbstverständlich geworden sind.

    Letztenendes habe ich irgendwann die Geduld verloren und am Script herumgeschrieben, gelösch, umgeschrieben, etc. und irgendwann die Übersicht verloren. Einzelne Teile funktionierten - aber irgendie habe ich den Code dann komplett verwurschtelt. Es ging ja einmal, aber ich war ja nicht zufrieden...

    Wenn ich jetzt mit ASCII herumspielen würde, würde irgendwann die einfache Lösung (die ich bevorzuge) in eine komplexe Arbeit umspringen. Mit meiner Lösung kann ich in dem "Alphabet-String" ein eigenes Alphabet definieren, die Reihenfolge spielt keine Rolle (z. B. "axzdifepo..." etc) Das wäre mit anderen System nicht so einfach möglich, wenn ich die bisherigen Beiträge richtig verstehe.

    Ich setzt mich wie schon geschrieben noch einmal daran und werde mir alle Beiträge zu Gemüte ziehen und die Tipps überdenken und ggf. verwenden.

    Danke
    Geändert von Neurodeamon (29.02.04 um 11:53 Uhr)
     
    Copy for free - Yet another page for free software with soures:
    • BitUnlocker (Automatic unlock multiple Bitlocker secured drives - if you use the same password)
    • W7 ScrollZoom (Use Windows 7 zoom tool through your mouse wheel)
    • AppStarter (Somewhat like PortableApps launcher)
    • QuakeConsole (Show/Hide windows console with your tilde key)
    • BetterFileRenamer (Simple file renamer that adds date and version)
    .... more to come

  2. #17
    Registriert seit
    Dec 2001
    Ort
    Hannover
    Beiträge
    4.234
    So, da bin ich wieder und habe noch immer etwas verworrenes zu berichten.

    Folgender Code funktioniert mittleweile FAST so, wie ich es erwarten würde:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
    <html lang="de">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
        <title>JS-Decryptor</title>
    </head>
    <script type="text/javascript">
    <!--
    function str2arr(strInput){
        strArr = new Array();
        for (i = 0; i < strInput.length; i++){
            strArr[i+1] = strInput.charAt(i);
        }
        return strArr;
    }
     
    function arrayFind(sSearch, sBase){
        for(var x=0; x<sBase.length; x++){
            if(sBase[x] == sSearch){
            var iIndex = x;
            return iIndex;
            }
        }
    }
    Array.prototype.find = arrayFind;
     
    function scrInject(sInput, sKey){
        sChars = new String("abcdefghijklmnopqrstuvwxyz-");
        aChars = str2arr(sChars);
        aInput = str2arr(sInput);
        aCharNum = new Array();
        aResult = new Array();
        aResultB = new Array();
        for (var y = 1;y<aInput.length; y++){
            aCharNum[y] = aInput.find(aInput[y],aChars);
        }
        for (var z = 1;z<aCharNum.length;z++){
            if ((aCharNum[z] - sKey) < 1){
                aResult[z] = (aCharNum[z] - sKey) + aChars.length;
            } else {
                aResult[z] = aCharNum[z] - sKey;
            }
        }
        for (var j = 1;j<aResult.length;j++){
            aResultB[j] = aChars[aResult[j]];
        }
        return aResultB;
    }
    strResult = new String();
    strResult = scrInject("pjogipuglpugnlolptzh-e","7").join("");
    alert (strResult);
    //-->
    </script>
    <body>
    </body>
    </html>

    In das Script sind Vorschläge/Tipps aus zwei anderen Threads eingeflossen. Danke an alle die etwas dazu beigetragen haben. Wie man sehen kann habe ich natürlich die Hilfe teilweise auch etwas modifizieren müssen.

    Bei der ersten Scriptversion habe ich wohl an mangelndem Schlaf gelitten
    Dieser hier läuft - ich verwende auch alle Scriptteile - allerdings dürfte irgendwo ein Fehler sein den ich - mal wieder - übersehe.

    Zeichensatz: "abcdefghijklmnopqrstuvwxyz-"
    Satz: "ich-bin-ein-geheimsatz"
    Schlüssel: 7
    Verschlüsselter Satz: "pjogipuglpugnlolptzh-e"

    Hier rufe ich das Script provisorisch auf:
    Code :
    1
    2
    3
    
    strResult = new String();
    strResult = scrInject("pjogipuglpugnlolptzh-e","7").join("");
    alert (strResult);

    Der Satz "ich-bin-ein-geheimsatz" wird als "ichbineingeheimsatz" ausgegeben.
    was ist mit den "-" passiert?
    Ein anderes seltsames Verhalten:
    Wenn ich die Anzahl der Zeichen des Zeichensatzes als Schlüssel angebe, müsste ja "AUSGABE == EINGABE" sein, ist es aber nicht - es ist um ein Zeichen verschoben.

    Aber bis hier hin schonmal nicht schlecht für einen JS-Newb wie mich
    Jaja, zieht über mein Eigenlob her, aber ich habe sowas nötig, mich lobt ja sonst niemand
    Geändert von Neurodeamon (02.03.04 um 03:17 Uhr)
     
    Copy for free - Yet another page for free software with soures:
    • BitUnlocker (Automatic unlock multiple Bitlocker secured drives - if you use the same password)
    • W7 ScrollZoom (Use Windows 7 zoom tool through your mouse wheel)
    • AppStarter (Somewhat like PortableApps launcher)
    • QuakeConsole (Show/Hide windows console with your tilde key)
    • BetterFileRenamer (Simple file renamer that adds date and version)
    .... more to come

  3. #18
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Na..das ist es doch fast

    Der kleine Bug liegt darin, dass du deine Arrays das eine mal bei 1 zu füllen beginnst, dann aber
    wiederum auf Element 0 zugreifst, bzw. das du einen bei 1 gestarteten Array durchläufst, aber zum inkrementieren
    benutzt du die Länge eines bei 0 gestarteten Array.... da wird dann das letzte Element abgeschnitten.., das ist das '-'

    Fülle deine Arrays in "str2arr()" von 0 an, und durchlaufe sie in "srInject()" von 0 bis zum Ende, dann ist das '-' da.
    Wenn du dann noch in "srInject()" dem 'a' eine Chance gibst...
    Code :
    1
    
    if ((aCharNum[z] - sKey) < 0)
    statt
    Code :
    1
    
    if ((aCharNum[z] - sKey) < 1)

    ist's perfekt
    Angehängte Grafiken Angehängte Grafiken  
     

  4. #19
    Registriert seit
    Dec 2001
    Ort
    Hannover
    Beiträge
    4.234
    fatalus, Du bist ein Schatz Ich Greenhorn

    Jetzt läuft alles so, wie ich wollte. Danke Euch allen!

    http://www.neurodeamon.com/gbpics/smilies/eek.gif

    Wer jetzt neugierig ist, was ich mit diesem Code vorhabe, der kann ja mal per PN fragen.
     
    Copy for free - Yet another page for free software with soures:
    • BitUnlocker (Automatic unlock multiple Bitlocker secured drives - if you use the same password)
    • W7 ScrollZoom (Use Windows 7 zoom tool through your mouse wheel)
    • AppStarter (Somewhat like PortableApps launcher)
    • QuakeConsole (Show/Hide windows console with your tilde key)
    • BetterFileRenamer (Simple file renamer that adds date and version)
    .... more to come

Ähnliche Themen

  1. Download aus Result Document
    Von pymy im Forum PHP
    Antworten: 3
    Letzter Beitrag: 10.07.07, 15:42
  2. Verarbeitung des Query Result bei EJB 3.0 und JPA
    Von Cullen im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 09.07.07, 16:51
  3. PHP Result mit AJAX auswerten
    Von CarnivoreCI im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 27.06.07, 12:14
  4. DB result nicht Komplett
    Von XeN im Forum PHP
    Antworten: 2
    Letzter Beitrag: 14.05.04, 15:19
  5. Mysql Result
    Von h-brock im Forum PHP
    Antworten: 1
    Letzter Beitrag: 13.04.02, 15:15