AGB  ·  Datenschutz  ·  Impressum  







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

Caeser Verschlüsselung

Ein Thema von SirMaurice · begonnen am 26. Mär 2019 · letzter Beitrag vom 26. Mär 2019
Antwort Antwort
SirMaurice

Registriert seit: 7. Dez 2018
Ort: Berlin
16 Beiträge
 
Delphi 5 Enterprise
 
#1

AW: Caeser Verschlüsselung

  Alt 26. Mär 2019, 18:07
Ich möchte ja nicht Z - 25 rechnen sondern der Key ist Z, also 25 Stellen Verschiebung. Zudem wird der Key ja hinzuaddiert und nicht subtrahiert.
Das Problem ist jetzt aber wenn der Key 25 beträgt und man z.B. ein B verschlüsseln möchte, rechnet man den ASCII-Wert von B, also 66, plus den Key, also 25,
dies ergibt dann 91 und somit ein "[".
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Caeser Verschlüsselung

  Alt 26. Mär 2019, 18:13
Hallo,
du musst da schon noch ein if reinpacken,
sowas wie

Delphi-Quellcode:
var
  j: Integer, // oh Gott, i und j ;)


  j:= Ord(text[i]);
  if j<=was_weis_ich then
  begin
    j:= was_weiss_ich_2;
  end;
  j:= j-25;
Damit bekommst Du dein "Ring-Alphabet".

Geh doch das einmal auf einem Blatt Papier durch.
'A'->'Z', Ord('A)=, Ord('Z')

Schreib alles auf und dann weiter mit dem if.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Caeser Verschlüsselung

  Alt 26. Mär 2019, 18:28
Kurz, dein Problem ist der Übertrag. Überlege dir wie du feststellst, wann es zu einem und was du dann machen musst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
SirMaurice

Registriert seit: 7. Dez 2018
Ort: Berlin
16 Beiträge
 
Delphi 5 Enterprise
 
#4

AW: Caeser Verschlüsselung

  Alt 26. Mär 2019, 18:51
Also nach ein paar motivierenden Sprüchen und ein paar Rendez-vous mit der ASCII-Tabelle, bin ich auf folgende Lösung gekommen.
Ich bedanke mich bei allen die mir beigestanden haben.

Delphi-Quellcode:
function TCaeser.GetGeheimtext : string;
var
i : integer;
begin
  Result := '';
  for i := 1 to length(text) do begin
    if ord(text[i]) + key > ord('Z') then
    Result:= Result + chr(ord(text[i]) + key - 26)
    else
    Result := Result + chr(ord(text[i]) + key);
  end;
end;

Geändert von SirMaurice (26. Mär 2019 um 18:55 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#5

AW: Caeser Verschlüsselung

  Alt 26. Mär 2019, 18:53
Zitat:
Radezvous
Der Richtigkeit halber. Es heißt Rendez-vous
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:25 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