ERLEDIGT
NEIN
NEIN
ANTWORTEN
18
18
ZUGRIFFE
1039
1039
EMPFEHLEN
-
29.02.04 11:49 #16
- Registriert seit
- Dec 2001
- Ort
- Hannover
- Beiträge
- 4.234
Nein, ist schon ok. Ich finde den Thread superinteressant!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:
Das sollte deswegen nicht gehen, weil charAt keinen ASCII Wert, sondern wiederCode :1
if((aMail[z] - sKey) < 1)
einen Buchstaben zurückliefert.
Auf die Gefahr hin, das zu machen, was du eigentlich vermeiden wolltest, hab
ich auch mal eine Funktion gebaut:
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)
-
02.03.04 03:15 #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)
-
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...
stattCode :1
if ((aCharNum[z] - sKey) < 0)
Code :1
if ((aCharNum[z] - sKey) < 1)
ist's perfekt
-
03.03.04 06:07 #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)
Ähnliche Themen
-
Download aus Result Document
Von pymy im Forum PHPAntworten: 3Letzter Beitrag: 10.07.07, 15:42 -
Verarbeitung des Query Result bei EJB 3.0 und JPA
Von Cullen im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 09.07.07, 16:51 -
PHP Result mit AJAX auswerten
Von CarnivoreCI im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 27.06.07, 12:14 -
DB result nicht Komplett
Von XeN im Forum PHPAntworten: 2Letzter Beitrag: 14.05.04, 15:19 -
Mysql Result
Von h-brock im Forum PHPAntworten: 1Letzter Beitrag: 13.04.02, 15:15





Zitieren
Login





