Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Verschlüsselungs Problem mit ASCII Zeichen (https://www.delphipraxis.net/58780-verschluesselungs-problem-mit-ascii-zeichen.html)

Penelopee 12. Dez 2005 16:25


Verschlüsselungs Problem mit ASCII Zeichen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hier mein Quellcode:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,k:integer;

begin
for k:=0 to Memo1.Lines.Count-1
  do begin
      for i:=1 to length(s)
         do begin
             s[i] := Chr( Ord(s[i]) + 3);
           end;
              end;

              Memo1.Lines.Text:=s;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i,k:integer;
begin

for k:=0 to Memo1.Lines.Count -1
   do begin
       for i:=1 to length(s)
       do begin

            s[i] := Chr( Ord(s[i]) - 3);
               end;
                    end;

                    Memo1.Lines.Text:=s;

                end;
Das Problem ist , dass er Sonderzeichen falsch umwandelt.Wie kann ich angeben , dasser nur Buchstaben nehmen soll zum Verschlüsseln????

Danke für alle Hilfe

St.Pauli 12. Dez 2005 16:32

Re: Verschlüsselungs Problem mit ASCII Zeichen
 
Hi,

schau dir mal das Thema hier an... Link

Edit1: Link korrigiert

Penelopee 12. Dez 2005 16:58

Re: Verschlüsselungs Problem mit ASCII Zeichen
 
Zitat:

Zitat von St.Pauli
Hi,

schau dir mal das Thema hier an... Link

Edit1: Link korrigiert

bringt mich leider nicht weiter.

Cicaro 14. Dez 2005 11:13

Re: Verschlüsselungs Problem mit ASCII Zeichen
 
@Penelopee:
So wie ich das sehe, versuchst du die Caesar-Verschlüsselung zu proggen und du möchtest die 26 Großbuchstaben verwenden. Diese liegen im ASCII-Code zwischen 65 und (65+26), oder ?

Ein einzelnes Zeichen kannst du mit

Delphi-Quellcode:
// Zeichen ist vom Typ Char
Zeichen := Char( (Ord(Zeichen)-65 + 3) mod 26 +65);
auf dem Zeichenring um 3 verschieben.

Wichtig ist auch, dass der Benutzer NUR Großbuchstaben eintippt.

[unwichtig]
Was mir noch auffällt, ist, dass ich noch vor einem Jahr an dem selben Problem in meinem Informatik-Kurs gegrübbbelt hab'.
[/unwichtig]

TeronG 14. Dez 2005 11:48

Re: Verschlüsselungs Problem mit ASCII Zeichen
 
Zitat:

Zitat von Penelopee
Das Problem ist , dass er Sonderzeichen falsch umwandelt.Wie kann ich angeben , dasser nur Buchstaben nehmen soll zum Verschlüsseln????

wenn an sich schon alles klappt und du nur sichergehen willst, daß keiner was anderes als Buchstaben eintippt könnte auch sowas helfen.
Delphi-Quellcode:
Procedure KeyPressDingens
  if not( Key in ['a'..'z','A'..'Z', #8] ) then Key := #0;

Penelopee 14. Dez 2005 16:21

Re: Verschlüsselungs Problem mit ASCII Zeichen
 
bin jetzt bei der One Time Pad Verschlüsselung!

Wie erstelle ich einen Key??Der Key soll genau so lang sein wie der Klartext und aus zufälligen zeichen bestehen!Habe einen dynamischen array erstellt , aber wie gehts weiter???

tigerman33 14. Dez 2005 20:06

Re: Verschlüsselungs Problem mit ASCII Zeichen
 
Das müsste eigentlich klappen:
Delphi-Quellcode:
type TKey = array of char;
procedure GenerateKey(var AKey: TKey);
type TAlpha = 'A'..'Z','a'..'z'; // evtl. noch plus '0'..'9'
var i: integer;
begin
  // Prozedur bekommt das bereits auf die korrekte Länge initialisierte Array als Parameter
  // (den Code zum array initialisieren hast du ja schon)
  // ich mach also mal direkt weiter:
  for i := Low(Key) to High(Key)
    do Key[i] := TAlpha(random(51));
  // Alphabet hat 26 Buchstaben, mal zwei wegen Groß- und Kleinbuchstaben.
  // Wenn du die numerischen Chars noch dazunimmst also 61
end;
//edit:
Natürlich nicht vergessen, vorher einmal randomize aufzurufen (z.B. im Application.Initialize). War dir vermutlich auch vorher schon klar, aber ich sag's sicherheitshalber nochmal dazu. :wink: Sonst macht ja die ganze Verschlüsselung nicht viel Sinn. :lol:

Penelopee 14. Dez 2005 20:31

Re: Verschlüsselungs Problem mit ASCII Zeichen
 
geht das nicht auch mit einem array of string??Das würde mir besser gefallen!!Aber danke schon mal!

tigerman33 14. Dez 2005 20:34

Re: Verschlüsselungs Problem mit ASCII Zeichen
 
Es geht auch mit einem array of string, aber chars sind hier eigentlich sinnvoller. Also entweder ein array of char oder ein string (was ja eigentlich das gleiche ist). Bei einem array of string hättest du ja lauter "ein-zeichige" strings--da kann man das Kind auch gleich beim Namen nennen und char schreiben... :wink:

Penelopee 14. Dez 2005 20:52

Re: Verschlüsselungs Problem mit ASCII Zeichen
 
Liste der Anhänge anzeigen (Anzahl: 1)
danke für die hilfe , aber es will einfach nicht klappen.Hab im Anhang mal mein Quelltext und ich will jetzt auf OTP umprogrammieren , könnt ihr euch mal mein Projekt bitte runterladen und mir zeigen wo ich den key ersetlle???
Vielen Dank , ich sitz schon seit stunden hier und komm nciht weiter , hab so nen blöden lehrer , der nichts erklärt!


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 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