Forum: Sonstige Fragen zu Delphi
Delphi
by St.Pauli,
6. Jan 2007
Bei deinem Null-Problem ist die Funktion StringReplace dir keine große Hilfe. Sie benutzt selber an diversen Stellen eine Typumwandlung nach PChar. Das heißt sie ist völlig nutzlos um das Zeichen #0 aus einem String zu entfernen. :wink:
Lösung? Schreib dir einfach selbst eine kleine Funktion die dir das Zeichen #0 aus deinem String entfernt.
procedure ReplaceZero(var s: string);
var
...
Forum: Sonstige Fragen zu Delphi
Delphi
by St.Pauli,
5. Jan 2007
Dann gibt es 3 Möglichkeiten wie du weitermachst:
1. Du verwendest weiterhin RC4 und stellst den String hexadezimal dar.
2. Du verwendest weiterhin RC4 und statt den Text über Controls einzulesen speicherst und lädst du ihn aus Dateien.
3. Du verwendest zum Beispiel ROT13, was zwar keine Sicherheit bietet, aber die Zeichen im Bereich des Alphabets lässt.
Forum: Sonstige Fragen zu Delphi
Delphi
by St.Pauli,
5. Jan 2007
Kann Klaus01 nur voll und ganz Zustimmen. Es ist der Sinn das deinen Plaintext auf alle möglichen Bytewerte verteilet wird. Wenn du nun ein Byte aus dem Chiffretext entfernst wirst du mit diesem und dem Rest nichts mehr anfangen können.
Und im Übrigen: Wenn du meinst das ein hexadezimaler String dir nicht "professionell" genung aussieht ist es nicht unser Problem!
Forum: Sonstige Fragen zu Delphi
Delphi
by St.Pauli,
1. Jan 2007
Wie gammatester schon sagte werden Strings in Delphi nicht von einem bestimmten Byte-Wert terminiert. Delphi orientiert sich lediglich an der Länge des Strings. Wenn du also einzig und allein Strings verschlüsselst und diese dann abspeicherst, sollte dir nichts passieren.
Delphi/Pascal ist jedoch mit seinen Strings ein Ausnahmefall. Windows arbeitet mit nullterminierten Strings. Wenn du nun...