AGB  ·  Datenschutz  ·  Impressum  







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

Verschlüsselungstool

Ein Thema von Nero281084 · begonnen am 9. Nov 2009 · letzter Beitrag vom 9. Nov 2009
Antwort Antwort
Seite 1 von 3  1 23      
Nero281084

Registriert seit: 29. Okt 2009
12 Beiträge
 
Delphi 2007 Professional
 
#1

Verschlüsselungstool

  Alt 9. Nov 2009, 09:02
Hallo zusammen,

bräuchte dringend mal hilfe.
Ich muss ein Verschlüsselungtool, in einem formular programmieren.
Ich habe ein memofeld für strings und ein editfeld für integer, das editfeld bestimmt den schlüssel und schlüssel 3 macht aus a ein d.
Der schlüssel bestimmt um wieviele zeichen der text verschoben wird.
Nur hab ich keinen plan wie ich das machen soll.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#2

Re: Verschlüsselungstool

  Alt 9. Nov 2009, 09:18
das klingt irgendwie nach einer Cäsar-Verschlüsselung

MSDN-Library durchsuchenCäsar Verschlüsselung
http://de.wikipedia.org/wiki/Verschiebechiffre
und es gibt auch einige Beispiele dazu im Forum zu finden Hier im Forum suchencäsar


genauer gesag, ist das der Sonderfall Hier im Forum suchenROT13, Bei Google suchenROT13, ROT13
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Verschlüsselungstool

  Alt 9. Nov 2009, 09:20
Von verschlüsselung kann man bei Verschiebeschiffre eher nicht reden. Vor 2000 Jahren was das mal in, aber heutzutage ist das maximal eine einfache Verschleierung.

Die Funktionen Ord und Chr sind deine Freunde um Characterzeichen zu verschieben.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#4

Re: Verschlüsselungstool

  Alt 9. Nov 2009, 09:24
@Bernhard:
Zitat:
Ich muss ein Verschlüsselungtool, in einem formular programmieren.
In der Schule nimmt man auch erher mal einfache Dinge ... muß dann ja nicht so sicher sein, hauptsache es macht ein bissl Arbeit
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
9. Nov 2009, 09:25
Dieses Thema wurde von "Daniel G" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Sonstige Fragen zu Delphi" verschoben.
Das ist definitiv kein Beitrag für die CodeLib.
Nero281084

Registriert seit: 29. Okt 2009
12 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Verschlüsselungstool

  Alt 9. Nov 2009, 09:53
ja aber wie programmier ich das dann alles?
ich versteh da leider nur bahnhof(ankunft-abfahrt-information)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#7

Re: Verschlüsselungstool

  Alt 9. Nov 2009, 10:11
Zitat von Bernhard Geyer:
Die Funktionen Ord und Chr sind deine Freunde um Characterzeichen zu verschieben.
Das große A hat den Code 65, d.h. Ord('A') ergibt 65, umgekehrt ergibt Chr(65) das große A. Also musst Du nur aus der 65 die 68 machen, um auf D zu kommen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Nero281084

Registriert seit: 29. Okt 2009
12 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Verschlüsselungstool

  Alt 9. Nov 2009, 14:34
hab was gefunden, jetzt muss ich nur noch herausfinden wie ich die zahl vom editfeld mit einbeziehen kann.
Hier ist der Quellcode:
Delphi-Quellcode:
function EncryptCaesar(AText: string; AKey: Char): string;
var
  i: Integer;
  tmp: Integer;
  normedKey: Integer;
begin
  SetLength(Result, Length(AText));

  // alles in Großbuchstaben umwandeln
  // Caesar unterscheidet nicht zwischen Groß- und Kleinbuchstaben
  AText := UpperCase(AText);
  AKey := UpCase(AKey);

  if not (AKey in ['A'..'Z']) then
    raise EInvalidArgument.CreateFmt('Schlüssel ungültig(%s). AKey muss ein '
    + 'Buchstabe zwischen ''A'' und ''Z'' sein.', [AKey]);

  normedKey := Ord(AKey) - Ord('A') +1; // Schlüssel normalisieren

  for i := 1 to Length(AText) do
  begin
    if AText[i] in ['A'..'Z'] then // nur Buchstaben verschlüsseln
    begin
      tmp := (Ord(AText[i])) - Ord('A'); // Normalisieren
      tmp := (tmp + normedKey) mod 26; // Verschieben
      Result[i] := Chr(tmp + Ord('A')); // Denormalisieren
    end
    else
    begin
      Result[i] := AText[i]; // nicht verschlüsseln, wenn kein Buchstabe
    end;
  end;
end;

function DecryptCaesar(AText: string; AKey: Char): string;
var
  i: Integer;
  tmp: Integer;
  normedKey: Integer;
begin
  SetLength(Result, Length(AText));

  // alles in Großbuchstaben umwandeln
  // Caesar unterscheidet nicht zwischen Groß- und Kleinbuchstaben
  AText := UpperCase(AText);
  AKey := UpCase(AKey);

  if not (AKey in ['A'..'Z']) then
    raise EInvalidArgument.CreateFmt('Schlüssel ungültig(%s). AKey muss ein '
    + 'Buchstabe zwischen ''A'' und ''Z'' sein.', [AKey]);

  normedKey := Ord(AKey) - Ord('A') +1; // Schlüssel normalisieren

  for i := 1 to Length(AText) do
  begin
    if AText[i] in ['A'..'Z'] then // nur Buchstaben sind verschlüsselt
    begin
      tmp := (Ord(AText[i])) - Ord('A'); // Normalisieren
      tmp := (26 + (tmp - normedKey)) mod 26; // Verschieben
      Result[i] := Chr(tmp + Ord('A')); // Denormalisieren
    end
    else
    begin
      Result[i] := AText[i]; // nicht verschlüsseln, wenn kein Buchstabe
    end;
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
   Memo.Text := EncryptCaesar(Memo.Text, 'C');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    Memo.Text := DecryptCaesar(Memo.Text, 'C');
end;

end.
[edit=Sharky][delphi-Tags] eingefügt. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Verschlüsselungstool

  Alt 9. Nov 2009, 14:57
Hi,

erst einmal herzlich willkommen in der DP

Zitat:
hab was gefunden, jetzt muss ich nur noch herausfinden wie ich die zahl vom editfeld mit einbeziehen kann.
Hier ist der Quellcode:
Es wäre nett, wenn Du bei fremdem Code noch die Fundstelle (URL) mit angeben würdest.

Gruß

Wolfgang
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#10

Re: Verschlüsselungstool

  Alt 9. Nov 2009, 14:57
Na Prima, dann musst du ja eigentlich nur wissen, was das hier bedeutet:
normedKey := Ord(AKey) - Ord('A') +1; Sherlock
Oliver
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 02:33 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