Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
11. Jun 2009
tausch erstmal die Reinfolge
und wo knallt es genau?
das kann man beim Debuggen schön rausbekommen :angel2: (z.B. F7 und Co.)
//verschlüsseln
rc4init(memo1.Text);
text:=memo2.Text;
text:=rc4encdec(text);
text:=base64enc(text); // ergebnis codieren
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
11. Jun 2009
also zumindestens nicht mehr damit, daß es Zeichen darin gibt, welche das Memo nicht mag. :angel2:
Hab den Code ja nicht ganz genau unter die Lube genommen und weiß nicht mit Sicherheit, ob sich da nicht doch noch irgendein anderer Fehler drin versteckt.
und vorm Entschlüsseln natürlich erst wieder die Umcodierung rückgängig machen.
Ach ja ... willkommen an Board
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
11. Jun 2009
Nja, die Funktionen rc4init und rc4encdec sind direkt in die Form eingebaut, wärend sbox, x, j und k global runliegen.
RC4 ist ja eine einfache "XOR-Verschlüsselung" und da kommen im Ergebnisstring theoretisch alle Zeichen von #0 bis #255 vor.
Und da TMemo nunmal nur für Text ausgelegt ist, hat es mit Steuerzeichen unterhalb #32 manchmal Probleme und vorallem das Zeichen #0 wird als...
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
11. Jun 2009
Also die Lage der nötigen Variablen (vorallem sbox) ist nicht unbedingt gut gewählt.
Ansonsten kann ich jetzt auf die Schnelle keinen Fehler finden.
Was ist denn ein längerer Text?
Und du weißt, daß RC4 ein binäres Ergebnis liefert und das Memo damit nicht unbedingt zurechtkommt?
> bei #0 wird das Einlesen z.B. abgebrochen
> und einige Steuerzeichen im Bereich #1..#31 machen sich...