AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verschlüsselung

Ein Thema von Curby · begonnen am 29. Sep 2003 · letzter Beitrag vom 30. Sep 2003
Antwort Antwort
Seite 2 von 2     12   
anku

Registriert seit: 13. Sep 2003
51 Beiträge
 
#11

Re: Verschlüsselung

  Alt 30. Sep 2003, 00:41
Zitat von Daniel B:
Zitat von anku:
du kannst in einer case abfrage nicht einfach strings benutzen, das müssen schon zahlen sein.
"Key: Char;" und somit geht das ganze schon
na dann jag dass doch mal durch den compiler.. was soll denn dabei rauskommen?? wenn ich ein einzelnes zeichen mit einem string, der aus mehreren zeichen besteht, vergleiche dann kommt da immer ein false bei rum. tztz

edit:
char funktioniert auch nur, weil es ja eigendlich dem Byte entspricht bzw das gleiche ist.
  Mit Zitat antworten Zitat
anku

Registriert seit: 13. Sep 2003
51 Beiträge
 
#12

Re: Verschlüsselung

  Alt 30. Sep 2003, 00:57
so.. ich hoffe mal ich hab verstanden was du genau vorhast. hier wäre dann eine lösung:
Delphi-Quellcode:
var i, j: integer;
        sBuffer: String;
        sGeheimText: String;
        sKlarText: String;

const
        ZeichenErsatz: array[65..90] of String[7] =( 'XZYJVPQ','XYJVPQZ', 'JXZYVPQ', 'XZYJQVP', 'XZJVPQY', 'XZYVJPQ', 'JVPQXZY', 'ZYJVXPQ',
                                                        'JVPXZYQ','XVZYJPQ', 'XZYQJVP', 'XZJVYPQ', 'XZYJPVQ', 'XZYJVQV', 'XYJZVPQ', 'XYJVZPQ',
                                                        'YJVPQXZ','QXZYJVP', 'XZYPJVQ','ZYJVPQX', 'XZYVJPQ' , 'XZJYVPQ','XZYJVQP','ZYJXVPQ',
                                                        'XZYJPQV' ,'XZYVPQJ');
begin
        sGeheimText:= 'ZYJVXPQXZYJVPQXZJVYPQXZJVYPQXYJZVPQ';
        for i:=1 to length( sGeheimtext) div 7 do begin
                sBuffer:= copy( sGeheimText, 1, 7);
                delete( sGeheimText, 1, 7);
                for j:=65 to 90 do begin
                        if ZeichenErsatz[j]= sBuffer then
                                sKlarText:= sKlarText+ Chr(j);
                end;
        end;
        ShowMessage( sKlarText);

end;
also es sollte eigentlich klappen, nur werden da noch keine satzzeichen, blanks etc behandelt, sondern nur deine vorgegebenen zeichenfolgen.

mfg
  Mit Zitat antworten Zitat
daniel-volk

Registriert seit: 16. Jul 2003
170 Beiträge
 
Delphi 6 Enterprise
 
#13

Re: Verschlüsselung

  Alt 30. Sep 2003, 15:06
@ Curby:
Zitat:
Übrigens Caesar - Bedeutet: Verschlüsseln durch tauschen von Buchstaben
Also für mich heißt Caesar etwas Anderes. Ich musste das selbst alles in der Schule machen und für mich besteht die Caesar-Verschlüsselung darin, dass ein einzelner Buchstabe als Schlüssel verwendet wird im Cypheralphabet den Platz des A einnimmt. Anschließend hast du dann quasi zwei Alphabete, die untereinander liegen.
Beispiel:
Du willst mit D verschlüsseln. Statt eines A wird dann also D geschrieben. -> Verschiebung um 3.
Angenommen Alph ist eine Konstante mit deinem Alphabet, dann ergibt sich folgendes:
Delphi-Quellcode:
// Verschlüsseln:
Geheimbuchstabe := Alph[(pos(UPPERCASE(Klartextbuchstabe),Alph)+pos(Schlüssel,Alph)-1) mod length(Alph)];

//Entschlüsseln:
Klartextbuchstabe := Alph[(pos(UPPERCASE(Geheimbuchstabe),Alph)+pos(Schlüssel,Alph)-1) mod length(Alph)];
Ich hoffe das hat dir geholfen.

MfG,
Daniel.
  Mit Zitat antworten Zitat
Curby

Registriert seit: 29. Sep 2003
17 Beiträge
 
#14

Re: Verschlüsselung

  Alt 30. Sep 2003, 17:06
@ anku

Ja, danke - genau das habe ich gesucht, jedoch funktioniert dein Quellcode nicht.
Egal was du als Geheimtext eingibst, wird immer das Wort "Hallo" dekodiert!

Dies Zeile wird immer dekodiert: "sGeheimText:= 'ZYJVXPQXZYJVPQXZJVYPQXZJVYPQXYJZVPQ';"
Er liest jedoch nicht die Zeile ein, die ich geschrieben habe und somit klappt das leider nicht...

Wie kann man den Quelltext so ändern, dass er den Geheimtext nimmt und diesen Ausliest - dadrin liegt momentan meiner Ansicht nach das Problem.
  Mit Zitat antworten Zitat
anku

Registriert seit: 13. Sep 2003
51 Beiträge
 
#15

Re: Verschlüsselung

  Alt 30. Sep 2003, 17:25
Die Zeile war ja nur als test drin, ob es auch funktioniert. Du kannst ja einfach schreiben

sGeheimText:= Geheimtext; aber um dir genau zu sagen wie du es verändern musst, weiss ich nicht genug über dein Programm. Du arbeitest ja anscheinend mit globalen Variablen, oder? Wenn du das "verschlüsseln" selber geschrieben hast, dann solltest du auch in der Lage sein meine Version so abzuändern dass sie für dich richtig funktioniert.
Ich nehme mal an ihr werdet da auch Klausuren drüber schreiben und da kannst du dir ja auch nicht per Copy&Paste aus dem DP Forum helfen lassen!! Also musst du schon verstehen was dein Programm wie macht. Setz doch einfach mal einen Breakpoint an den Anfang der Procedure und geh dann schrittweise mit F8 weiter vor, um zu sehen was dort genau passiert.

MfG
  Mit Zitat antworten Zitat
Curby

Registriert seit: 29. Sep 2003
17 Beiträge
 
#16

Re: Verschlüsselung

  Alt 30. Sep 2003, 18:08
Schon klar - eine Klausur werden wir darüber nicht schreiben, dafür machen wir dieses Projekt...
Deshlab will ich hier eine gute Note bekommen, aber das gute alte Entschlüsseln will noch nicht...
Ich probier jetzt erstmal die neue Variante von Dir
  Mit Zitat antworten Zitat
Curby

Registriert seit: 29. Sep 2003
17 Beiträge
 
#17

Re: Verschlüsselung

  Alt 30. Sep 2003, 20:42
Hab jetzt den Quelltext so umgeschrieben, dass nun alles passt, aber ich habe Probleme bei den Leerzeichen. Wie kann man denn die Leerzeichen übernehmen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:40 Uhr.
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