Falsche Daten nach dem Entschlüsseln

Hallo.

Ich habe hier ein kleines Problem… ich muss per URL ein Array mit diversen Daten übergeben. Zum die Daten zu verschlüsseln, nutze ich mehrere Funktionen:

  1. Daten Array serialiseren
  2. Serialisierte Daten per mcrypt verschlüsseln
  3. Mycrpt Daten per base64 umwandeln

Diese Daten übergebe ich mit einer URL, Vorgabe ist eigentlich per GET, an eine andere Seite, die die Daten dann entschüsselt und verwertet.

Dies ist die Zeichenkette, die übergeben wird:

khceq8Pq6SbeJ2OA/nSIAzioGUVZSwMhlaBwqge8XC1AMA4SMafnNmByOlxQSS38s8P6C5cMvNm2weqAAx0fayrFfhwaW52Ra/XlIc5Bqmn7SJBDS77BxhIzvcXVYUAmfGBWCTHUZ6rxU8E83jPMMe+BlcyTXofj/dRIOjN5VdMcZkwal8maAINTso3g1sW7TO784dZ1AKnaXEZYuqvyaCN1izvbmETWWIYB9Rr/tJh9Ea8wT/sYXSrvTFJpOK1M

Auf der Gegenseite läufts dann genau andersherum:

  1. Daten per base64 dekodieren
  2. Daten per mcrypt dekodieren
  3. Daten wieder „de-serialisieren“

Wenn ich das per GET mache, wird das Ergebnis verfälscht und die Daten sind umbrauchbar.

Per POST in einem Hidden Field läufts rund. Beide Varianten nutzen ein und dieselbe Funktion zum entschlüsseln…

Beide Seiten sind UTF-8 kodiert.

Hat jemand eine Idee, woran das liegen kann?

Vielen Dank,
Philip

Gelöst.
…OK, ich habe zumindest schon einmal die Stelle gefunden, an der das ganze kaputt geht. In dem Übergabe-String steht ein „+“.

rawurlencod()e bzw. rawurldecode() brachten das gewünschte ergebnis.

Hi

Wenn du etwas per GET übergibst mußt du es noch urlencoden (http://php.net/manual/de/function.urlencode.php)

Gruß Lamer
PS: auf der gegenseite natürlich wieder decoden

Danke, war schneller :wink:

Gruß
Philip

Jepp gerade erst online gekommen sonst hätte ich es vor dir geschrieben :smile:))