Cäsar: Teil 2
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:
<!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:
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