[PHP]-Codierungsprogramm - Fehler mit ASCII-Zeichensatz

Mamimonster2k3k4k

Grünschnabel
Dieser Thread richtet sich in erster Linie an die alten Hasen unter euch, weil das eigentliche Problem über die PHP-Entwicklung geht:

Ich habe einen Dienst programmiert (noch nicht online), bei dem man sich anonym anmeldet und Texte verschlüsseln lassen kann.

Das Funktioniert so:

Beim registrieren wird der Username , sein Passwort und ein sogen. Dechiffrierpasswort gespeichert. Weiterhin wird ein Array mit x Elementen (Anzahl richtet sich nach Sicherheitsstufe, die vom User bei der Registrierung festgelegt wurde) generiert, jedes Element ist eine Zufallszahl zw. zwei Werten. Dieser Sch´üssel wird auch abgespeichert.

Nun kann sich der User anmelden und eine Nachricht schreiben. Diese Nachricht wird mit seinem Schlüssel codiert (ASCII-Zeichenwert wird mit jeweiligen Array-Element addiert).

Nun kann er die Nachricht beliebig weiterverwenden, z.B. eine E-Mail an seine Freunde schicken. Die können die Nachricht decodieren lassen, aber nur wenn Sie das Dechiffrierpasswort des Absenders kennen.

Mein Problem: im ASCII-Zeichensatz gibt es mehrere Werte denen ein Leerzeichen zugeordnet ist. Wenn ein Wert auf eines dieser Leerzeichen kommt, interpretiert das Decodier-Script diesen Wert immer als das erste Zeichen im ASCII-Satz, welchem ein Leerzeichen zugeordnet ist, worauf die entschlüsselte Nachricht vereinzelt Fehler enthält.

Wie kann ich das umgehen ?

MfG,

Mamimonster


EDIT:

Ich habe eine Vorab-Version hochgeladen, versucht mal das hier zu entschlüsseln:


p?ˆx•?š“?q?(f¥Šƒ


Mein Dechiffrierpasswort ist

isvonmami


Ihr müsst aber drauf achten, die führenden Leerzeichen abzuschneiden, beim einfügen.
 
Zuletzt bearbeitet:
Das Problem liegt nicht in deinem Dekodier-Skript.
Die Leerzeichen werden vom Formular falsch übermittelt....es hat sogar den Anschein, als würden sie vom Browser direkt bei der Eingabe in das Leerzeichen %20 umgewandelt....

daher bleibt als Lösung nur Eines:du musst dein Skript umstellen und darauf reagieren :(
 
Zurück