AGB  ·  Datenschutz  ·  Impressum  







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

Programm zur Verschlüsselung

Ein Thema von sebjensen · begonnen am 29. Mai 2007 · letzter Beitrag vom 29. Mai 2007
Antwort Antwort
sebjensen

Registriert seit: 8. Dez 2005
Ort: Kiel
62 Beiträge
 
#1

Programm zur Verschlüsselung

  Alt 29. Mai 2007, 09:31
Hallo.

Ich wollte mal wieder zru Programmiersprache Delphi zurückkehren, nach Ausflügen mit den Programmiersprachen Scheme, C, Java, Prolog, Python, ...

Ich bräuchte ine ganz einfache Verschlüsselungssoftware. Die einen String einliest und danach verschlüsselt wieder ausgibt und natürlich auch anders herum. Die Verschlüsselung soll wirklich simpel sein. Man nehme den ASCII-Code im Dezimalcode und zähle einfach den Wert 10 dazu.

Leider habe ich der Zeit so einiges an Delphi verlernt und bekomme das einfach nicht zusammengebastelt. Ich würde mich daher freuen, wenn mir einer bei der Erstellung helfen könnte.
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Programm zur Verschlüsselung

  Alt 29. Mai 2007, 09:42
Da sollte es schon einiges im Forum geben

extreme einfach:
Delphi-Quellcode:
function Codestr (Text:String; PW:Byte): String;//erzeugt steuerzeichen nur in hexform in ini's schreiben
var
  s: String;
  i: Integer;
begin
  If PW > 32 then PW:=32;
  If PW < 1 then PW:=1;
  // Kodieren
  s:=Text;
  for i:=1 to length(s) do
    s[i]:=char(PW Xor Ord(s[i]));
    result := s;
end; {Codestr}

viel besser RC4: (glaube ist von Hagen)

Delphi-Quellcode:
function Codestr (Text, PW:String): String;
var
  x: TRC4Context;
  str2: string;
begin
  setLength(str2,length(text));
  _RC4Init(x,PW); // Init
  _RC4Code(x, text[1], str2[1], Length(text)); // vers und entchlüsseln
  FillChar(x, SizeOf(x), 0); // Done // war eigene procedure
  result := str2;
end;

procedure _RC4Init(var RC4: TRC4Context; const Key: String);
var
  R,S,T,K: Byte;
  U,L: Integer;
begin
  L := Length(Key);
  with RC4 do
  begin
    I := 0;
    J := 0;
    for S := 0 to 255 do D[S] := S;
    R := 0;
    U := 0;
    for S := 0 to 255 do
    begin
      if U < L then K := PByteArray(Key)[U] else K := 0;
      Inc(U);
      if U >= L then U := 0;

      Inc(R, D[S] + K);
      T := D[S];
      D[S] := D[R];
      D[R] := T;
    end;
  end;
end;

procedure _RC4Code(var RC4: TRC4Context; const Source; var Dest; Count: Integer);
var
  S: Integer;
  T: Byte;
begin
  with RC4 do
    for S := 0 to Count -1 do
    begin
      Inc(I);
      T := D[I];
      Inc(J, T);
      D[I] := D[J];
      D[J] := T;
      Inc(T, D[I]);
      TByteArray(Dest)[S] := TByteArray(Source)[S] xor D[T];
    end;
end;
EDIT: eigentlich hätte ich nur auf die Suche versweisen sollen/müssen ....
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  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 10:18 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