![]() |
ganz einfache Verschlüsselung von einem Memo Text
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe in einem Memo einen Text geladen und möchte wenn ich auf den Button verschlüssele klicke , dass sich alle Buchstaben um eine Stelle Verschieben , also Cäsar Verchlüsselung.Muss ich dazu alle Buchstaben speichern und dann einfach a:=b setzen oder wie mache ich das am besten???
Vielen Dank im Vorraus! |
Re: ganz einfache Verschlüsselung von einem Memo Text
Cäsar Verschlüsselung hatten wir schon ein paar Mal, einfach mal die Forensuche bemühen. ;)
|
Re: ganz einfache Verschlüsselung von einem Memo Text
ja ich habs gesehen.Aber da sind so lange quellcodes und das ist viel zum kompliziert.Ich möchte einen Text , der aus 2 Worten besteht:'Hallo du' , möchte ich verschlüsseln.
|
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Multimedia" nach "Sonstige Fragen zu Delphi" verschoben.
Ist irgendwie keine Multimedia frage ;-) |
Re: ganz einfache Verschlüsselung von einem Memo Text
Es gibt viele verschiedene Wege so eine Verschlüsselung umzusetzen ...
Eine Möglichkeit ist z.b. dass du ein Schlüssel nimmst, den aktuellen Buchstaben suchst und dann durch den nächsten ersetzt
Delphi-Quellcode:
Natürlich funktioniert dies nur mit Großbuchstaben, aber ich denke du wirst hier auch ganz leicht Kleinbuchstaben implementieren können, und noch diverse Bugs behebn können. (Eigeninitiative)
function Verschluessle(Text: String) : String;
const Key = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ '; { ... } function Verschluessle(Text: String) : String; var i,j: Integer; begin Result := ''; //Ergebniss zurücksetzen for i := 1 to length(Text) do //Jeden Buchstaben des Textes durchgehen begin for j := 1 to 27 do //Jeden Buchstaben des Schlüssels durchgehen begin if Text[i] = Key[j] then //Sobald der Buchststabe gefunden ist Result := Result + Key[j+1]; //Den nächsten Buchstaben des Schlüssels hinzufügen end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Text := Verschluessle(Memo1.Lines.Text); //Möglicher ausruf der Funktion end; MFG Maximus |
Re: ganz einfache Verschlüsselung von einem Memo Text
Hier ist nochmal mein Quelltext:
Delphi-Quellcode:
Ich möchte jetzt diesen Text ganz einfach verschlüsseln.Brauche ich dafür eine Funktion oder geht das auch ohne??
var
Form1: TForm1; Text:string; implementation {$R *.dfm} procedure TForm1.FormActivate(Sender: TObject); begin Text:='Wer diesen Text verschlüsseln kann ist gut'; Memo1.Lines.Text:=Text; end; procedure TForm1.Button3Click(Sender: TObject); begin Memo1.Clear; end; procedure TForm1.Button1Click(Sender: TObject); begin end; end. |
Re: ganz einfache Verschlüsselung von einem Memo Text
Probier mal das:
Delphi-Quellcode:
procedure encode(key:integer);
var i,j,k,pos:integer; s:string; done:tpoint; const letters:string='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ßöäüÖÄÜ'; //diese Buchstabenliste kann beliebig erweitert werden. begin for i:=0 to form1.memo1.lines.Count-1 do for j:=1 to length(form1.memo1.lines.Strings[i]) do for k:=1 to length(letters) do if byte(form1.memo1.lines.Strings[i][j])=byte(letters[k]) then begin if not ((done.x=i) and (done.y=j)) then begin pos:=k+key; while pos>length(letters) do pos:=pos-length(letters); while pos<1 do pos:=pos+length(letters); s:=form1.memo1.lines.strings[i]; s[j]:=letters[pos]; form1.memo1.lines.Strings[i]:=s; done.X:=i; done.Y:=j; end; end; end; |
Re: ganz einfache Verschlüsselung von einem Memo Text
das funktionirt irgendwie nicht , danke für die mühe!!!!
|
Re: ganz einfache Verschlüsselung von einem Memo Text
Mal ne ganz einfache Möglichkeit:
Verschlüsseln:
Delphi-Quellcode:
Zum Entschlüsseln eines Strings die Funktion encodestr einfach noch einmal anwenden, das ganze ist umkehrbar.
function encodestr(Str: String; Key: Byte): String;
var I: Cardinal; begin Result:=Str; for I:=1 to length(Result) do Result[I]:=Chr(Ord(Result[I]) xor Key); end; Die "Cäsarverschlüsselung" ist auch ganz einfach:
Delphi-Quellcode:
function encodestr(Str: String): String;
var I: Cardinal; begin Result:=Str; for I:=1 to length(Result) do Result[I]:=Chr(Ord(Result[I])+1); end; function decodestr(Str: String): String; var I: Cardinal; begin Result:=Str; for I:=1 to length(Result) do Result[I]:=Chr(Ord(Result[I])-1); end; |
Re: ganz einfache Verschlüsselung von einem Memo Text
Delphi-Quellcode:
Du hast vergessen, den Typ des Result anzugeben ;)
function encodestr(Str: String; Key: Byte): string;
var I: Cardinal; begin Result:=Str; for I:=1 to length(Str) do Result[I]:=Chr(Ord(Result[I] xor Key); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 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-2025 by Thomas Breitkreuz