Hallo,
mit dem aus der Funktion bekannten Code - in PHP gewandelt - entschlüsseln?
Vollkommen richtig
dann ist es überflüssig, den Javascriptcode per PHP in PHP umzusetzen: -)
Wie suit bereits angemerkt hat, streiche einfach die von Jürgen und mir angesprochene Zeile und setze schon mal in
String.fromCharCode(s.charCodeAt(i)^(i%2?x:0));
für x eine 4 ein: Du hast somit (mit einem von mir eingefügten Klammernpaar und ein paar für mich wichtigen Leerzeichen):
for(var i=0; i < s.length; i++) {
t += String.fromCharCode(s.charCodeAt(i)^(i % 2 ? 4 : 0));
}
Da sich die Länge der Zeichenkette nicht ändert, reicht es aus, diese einmal vor der Schleife zu bestimmen.
// Ermittle die Anzahl der Zeichen im verschlüsselten Text
var anzahl = s.length;
// Für jede Zahl von 0 bis einschließlich der ermittelten Anzahl - 1
// mache folgendes
for(var i=0; i < s.length; i++) {
// Ermittle den Rückgabewert der Funktion charCodeAt() angewandt auf
// das Zeichen an dieser Position der Zeichenkette.
// Wende darauf eine Bitoperation an (die positionsabhängig ist).
// Wende auf das Ergebnis dieser Operation die Methode fromCharCode an
// und hänge das resultierende Zeichen an eine Zeichenkette in der
// Variablen t an.
t += String.fromCharCode(s.charCodeAt(i)^(i % 2 ? 4 : 0));
}
Wie bereits angemerkt wurde, musst Du
a) nachschlagen, welche Javascript-Funktionalität genutzt wurde,
wenn sie Dir unbekannt ist
b) das passende PHP-Gegenstück dazu nehmen.
Es ist nicht sinnvoll, den Javascript-Code der Funktion per RegExp in PHP umzuwandeln.
Freundliche Grüße
Vinzenz