Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.291 Beiträge
 
Delphi 12 Athens
 
#13

Re: Inhalt eines Memos binär speichern?

  Alt 6. Feb 2009, 23:02
tja, dirt wird die Binäre Darstellung des Integers gespeichert und die ist wirklich nicht so leicht lesbar,
aber die Binäre Darstellung eines Strings ist nunmal der Text selber und das ist nunmal lesbar, da der Editos diese binäre Darstellung auch kennt und diese dementsprechend "entschlüsselt" und dir den Text anzeigt

man könnte jetzt zwar z.B. einfach einen Unicode-BOM (Bei Google suchenByte Order Mark) vor einen AnsiText schreiben, dann würden alle Editoren, welche Unicode verstehen dieses auch "verschlüsselt" (nja, eigentlich nur falsch entschlüsselt) anzeigen, aber HEX-Editoren und Editoren, die kein Unicode verstehen, würden es dennoch "unverschlüsselt" anzeigen.

wie sehr willst du es denn verschlüsseln, bzw. wer soll es nicht entschlüsseln können?

das "Einfachst" wäre jetzt wohl eine "einfache" XOR-Verschlüsselung, wo ganz einfach Bits anhand eines "Schlüssels" umgedreht werden ... und wenn man die GLEICHEN Bits dann nochmal umdreht, dann kommt er Originaltext wieder zum Vorschein.

Delphi-Quellcode:
// Text von Variable "Text" verschlüsseln und speichern
S := Text;
For i := 1 to Length(S) do S[i] := Chr(Ord(S[i]) xor Ord('å'));
Laenge := Length(S);
FileWrite(FileHandle, Laenge, SizeOf(Laenge));
If Laenge > 0 Then FileWrite(FileHandle, S[1], Leange);

// gespeicherten Text in "Text" einlesen und entschlüsseln
FileRead(FileHandle, Laenge, SizeOf(Laenge));
SetLength(Text, Laenge);
If Laenge > 0 Then FileRead(FileHandle, Text[1], Laenge);
For i := 1 to Length(Text) do S[i] := Chr(Ord(Text[i]) xor Ord('å'));
schau dich einfach mal im Forum um, da gibt's einige Beispiele zu Verschlüsselungen.
- hier hab ich alles nur mit einem Zeichen verschlüsselt, also nach nur knapp 250 Versuchen hätte ich das auch ohne Schlüssel geknackt, aber man muß auch erstmal auf die Idee kommen, daß es auf diese Art verschlüsselt ist

PS: da ich weiß wie ein Integer intern aufgebaut ist, kann ich den Highscore leicht ändern ... wenige Sekunden und ich hab die Höchstpunktzahl von nur 2.147.483.647 Pünktchen
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat