Delphi-PRAXiS

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 17: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 17: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 18: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 19: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 19: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 22: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 22:23

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

alzaimar 23. Apr 2008 22: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 23: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 06:31

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

bluesbear 24. Apr 2008 07:08

Re: String "unlesbar" machen
 
Wpo!(gmýttjh(!mftfo!ibcf!jdi!ojdiut!hftbhu/!Jdi!nfjouf!ovs-!ft!jtu!ojdiu!(vomftcbs(-!eb!ft!mfjdiu!{v!fssbufo!jtu/!Voe!tdivnnfmo!)4![fjmfo!Dpef*!lboo!jdi!bvdi" :stupid:

xZise 24. Apr 2008 20:45

Re: String "unlesbar" machen
 
Also ich denke diese Verschiebung sollte ausreichen.
Alles andere, sei es XOR oder Ceasar, sind nicht gerade besser, und zum unlesbarmachen reicht es doch aus.
Wenn du willst, kannst du ja vorneweg ein "Tarntext" dazupacken.
Also irgendwie sowas:
Code:
[Settings]
RegistryString=Ijfs!tufifo!ejf!Jogpsnbujpofo!{vn!vomftcbsnbdifo
So würde man nicht sofort auf die Idee kommen, dass dort "wichtige Informationen stehen".

MfG
xZise

PS: Für diejenigen die gerade keine Lust haben sich eines Umwandlers zu bemühen ;)
Zitat:

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

Zitat:

Zitat von Macci
[...]Bist du dir wirklich sicher, dass du das noch fluessig lesen lasst, bluesbear? Also ich wuerd mich da sehr schwer tun ;-)

Zitat:

Zitat von chaosben
Bmtp!ebsbo!ibc!jdi!bvdi!nfjof![xfjgfm/!Bcfs!nbm!tfifo!xbt!fs!eb{v!tbhu/ :)

Zitat:

Zitat von chaosben
Also daran hab ich auch meine Zweifel. Aber mal sehen was er dazu sagt. :)

Zitat:

Zitat von bluesbear
Wpo!(gmýttjh(!mftfo!ibcf!jdi!ojdiut!hftbhu/!Jdi!nfjouf!ovs-!ft!jtu!ojdiu!(vomftcbs(-!eb!ft!mfjdiu!{v!fssbufo!jtu/!Voe!tdivnnfmo!)4![fjmfo!Dpef*!lboo!jdi!bvdi" :stupid:

Zitat:

Zitat von bluesbear
Von 'flüssig' lesen habe ich nichts gesagt. Ich meinte nur, es ist nicht 'unlesbar', da es leicht zu erraten ist. Und schummeln (3 Zeilen Code) kann ich auch! :stupid:

PPS: Oben steht:
Zitat:

Zitat von xZise
Hier stehen die Informationen zum unlesbarmachen


bluesbear 24. Apr 2008 20:59

Re: String "unlesbar" machen
 
:lol: Ich fand übrigens den Vorschlag mit dem zippen am besten. Das ist ne gute Idee für sowas.

Larsi 24. Apr 2008 21:00

Re: String "unlesbar" machen
 
Am einfachsten ist wohl:
http://www.delphi-treff.de/no_cache/...469&sword_list[0]=verschl%C3%BCsseln

bluesbear 24. Apr 2008 21:26

Re: String "unlesbar" machen
 
Jepp, das is gut. Kein Einspruch von mir. Sowas kann ich garantiert nicht lesen <g>


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 Uhr.

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