![]() |
Re: Verschlüsselungs Problem mit ASCII Zeichen
Nabend, hab gestern eine seite gefunden auf der ein paar beispiele für Verschlüsselungen sind. Die machen das so, das die auf Datei basis arbeiten. Vieleicht hilfts dir ja.
Hier der link: ![]() |
Re: Verschlüsselungs Problem mit ASCII Zeichen
@Penelope:
Zur Erstellung des One-Time-Pad-Keys, wie du ihn beschrieben hast:
Delphi-Quellcode:
function GetOneTimePadKey(Text:String):String;var i:Integer;
begin // Länge festlegen SetLength(Result,Length(Text)); // zufällige Zeichen for i:=1 to Length(Result) do Result[i]:=Char(Min_ASCII_Code+Random(Max_ASCII_Code-Min_ASCII_Code+1)); // Min_ASCII_Code und Max_ASCII_Code können beispielsweise 65 und 90 sein end; |
Re: Verschlüsselungs Problem mit ASCII Zeichen
Zitat:
|
Re: Verschlüsselungs Problem mit ASCII Zeichen
Hallo.
Warum Text übergeben, wenn nur die Länge genügt? Das ist eine unnötige Abhängigkeit von Delphi Implementierungsdetails. Und das Addieren von 1 innerhalb von Random() muss natürlich weg.
Delphi-Quellcode:
Grüße vom marabu
function GetOneTimePadKey(size: cardinal): string;
var i: integer; begin SetLength(Result, size); for i := 1 to Length(Result) do Result[i] := Chr(Min_ASCII_Code + Random(Max_ASCII_Code - Min_ASCII_Code)); end; |
Re: Verschlüsselungs Problem mit ASCII Zeichen
Hier nochmal mein Quelltext:
Delphi-Quellcode:
Also den key hab ich jetzt erstellt bekommen , aber im Moment wird einfach nur immer der Text um 3 Zeichen verschoben , wie kann ich das machen , dass der Text so verschlüsselt wird , dass ich ihn mit dem zufällig erstelltem key entschlüsseln kann????
procedure TForm1.FormActivate(Sender: TObject);
begin s:=Memo1.Lines.Text; end; function GetOneTimePadKey(Text:String):String;var i:Integer; begin SetLength(Result,Length(Text)); for i:=1 to Length(Result) do Result[i]:=Char(Random(255)); end; procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin for i:=1 to length(s) do begin s[i] := Chr( Ord(s[i]) + 3); end; Memo1.Lines.Text:=s; end; Danke schon mal! |
Re: Verschlüsselungs Problem mit ASCII Zeichen
So - setzt aber vorraus, dass s und ZufString die gleiche Länge haben...
Delphi-Quellcode:
for i:=1 to length(s) do
begin s[i] := Chr(Ord(s[i]) XOR Ord(ZufString[i])); end; |
Re: Verschlüsselungs Problem mit ASCII Zeichen
Zitat:
|
Re: Verschlüsselungs Problem mit ASCII Zeichen
Zitat:
Delphi-Quellcode:
// Wichtig: den One-Time-Pad-Key aufbewahren sonst kann man den Text nicht mehr entschlüsseln
// Key ist als String verfügbar // A: Verschiebung um 0 // B: Verschiebung um 1 ... if Length(S)>0 then for i:=1 to Length(S) do begin S[i]:=Chr(65 + ((Ord(S[i]) - 65) + (Ord(Key[S]) - 65)) mod 26 ); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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