Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String "unlesbar" machen (https://www.delphipraxis.net/112571-string-unlesbar-machen.html)

d6lpz 23. Apr 2008 16:06


String "unlesbar" machen
 
Hallo,

da ich jetzt schon mehrfach die Feststellung gemacht habe, das Delphi für Sachen die ich mühsam zusammengeknobelt habe schon fertige Funktionen bietet, möchte ich vorher nochmal fragen :?:
-> ich habe einen String mit ca. 300 druckbaren Zeichen
-> diesen möchte ich unlesbar machen (ich vermeide das Wort verschlüsseln)
-> dieses "unlesbare" in ein txt file speichern
-> dann dieses "unlesbare" wieder einlesen
-> "lesbar" machen
-> verarbeiten

Ziel ist keine sichere Verschlüsselung!

Gibt es dafür etwas von Delphi oder muß man das dicke Brett der Verschlüsselungsalgorithmen bohren?
Dirk

Der.Kaktus 23. Apr 2008 16:10

Re: String "unlesbar" machen
 
Hallo,

da es ja "nur" unlesbar gemacht werden soll..verknuepfte doch jedes Zeichen des Strings mit "XOR" (beliebiger Wert) und beim auslesen auch wieder mit dem selben (beliebigen) Wert.

shmia 23. Apr 2008 17:31

Re: String "unlesbar" machen
 
Bei der folgenden XOR Verschlüsselung, können Strings mit nichtdruckbaren Zeichen entstehen.
Wenn man den String dann weiterverarbeiten (>Datenbank, Ini-Datei) möchte, dann muss man noch
umkodieren z.B. mit Base64 oder Base16(="Hexcode") .
Delphi-Quellcode:
function StringXorCrypt(const text, key:string):string;
var
   i, j, keylen : Integer;
   c : Char;
begin
   SetLength(Result, length(text));
   j := 1;
   keylen := Length(key);
   for i := 1 to Length(text) do
   begin
      Result[i] := chr(ord(text[i]) xor ord(key[j]));
      Inc(j);
      if j > keylen then j := 1;
   end;
end;

Flips 23. Apr 2008 18:14

Re: String "unlesbar" machen
 
Vielleicht hilft auch was einfaches wie Cäsar oder Vigenere dafür aus.
Halt in den Grenzen der darstellbaren Zeichen, d.h. als Beispiel:
X->Y
Y->Z
Z->A
usw...

Der.Kaktus 23. Apr 2008 18:29

Re: String "unlesbar" machen
 
Zitat:

Zitat von shmia
Bei der folgenden XOR Verschlüsselung, können Strings mit nichtdruckbaren Zeichen entstehen.
Wenn man den String dann weiterverarbeiten (>Datenbank, Ini-Datei) möchte, dann muss man noch
umkodieren z.B. mit Base64 oder Base16(="Hexcode") .
Delphi-Quellcode:
function StringXorCrypt(const text, key:string):string;
var
   i, j, keylen : Integer;
   c : Char;
begin
   SetLength(Result, length(text));
   j := 1;
   keylen := Length(key);
   for i := 1 to Length(text) do
   begin
      Result[i] := chr(ord(text[i]) xor ord(key[j]));
      Inc(j);
      if j > keylen then j := 1;
   end;
end;

er will es, lt. seinen Ausfuehrungen, nur!! in eine .txt Datei schreiben und es anschliessend wieder auslesen...da stoert doch kein "nicht druckbares Zeichen". ;-)
Verschluesselung..moechte er auch nicht.

Macci 23. Apr 2008 21:09

Re: String "unlesbar" machen
 
Hallo,

es geht viel einfacher. Erhöhe einfach den ASCII-Wert jedes Zeichens um +1, und um den Text wieder lesbar zu machen subtrahierst du diese 1 wieder.

Also unlesbar machen:

Delphi-Quellcode:
for i:=1 to length(text) do text[i] := Chr(Ord(text[i]) + 1);
Lesbar machen:

Delphi-Quellcode:
for i:=1 to length(text) do text[i] := Chr(Ord(text[i]) - 1);
Viele Grüsse,
Macci

bluesbear 23. Apr 2008 21:23

Re: String "unlesbar" machen
 
Macci, das würde ich noch lesen können. IBM - HAL ... Stanley Kubrick <g>

alzaimar 23. Apr 2008 21:44

Re: String "unlesbar" machen
 
Zitat:

Zitat von Der.Kaktus
er will es, lt. seinen Ausfuehrungen, nur!! in eine .txt Datei schreiben und es anschliessend wieder auslesen...da stoert doch kein "nicht druckbares Zeichen". ;-)
Verschluesselung..moechte er auch nicht.

1. Es stört u.U. (EOF-Zeichen etc.)
2. Er hat nicht gesagt, das er KEINE Verschlüsselung möchte.

Macci 23. Apr 2008 22:03

Re: String "unlesbar" machen
 
Zitat:

Zitat von bluesbear
Macci, das würde ich noch lesen können. IBM - HAL ... Stanley Kubrick <g>

Cjtu!ev!ejs!xjslmjdi!tjdifs-!ebtt!ev!ebt!opdi!gmvfttjh!mftfo!mbttu-!cmvftcfbs@!Bmtp!jdi!xvfse!njdi!eb!tfis!tdixfs!uvo ;-)

chaosben 24. Apr 2008 05:31

Re: String "unlesbar" machen
 
Bmtp!ebsbo!ibc!jdi!bvdi!nfjof![xfjgfm/!Bcfs!nbm!tfifo!xbt!fs!eb{v!tbhu/ :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:42 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz