Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Verschlüsselung eines Strings (https://www.delphipraxis.net/44498-verschluesselung-eines-strings.html)

RedDust 20. Apr 2005 07:14


Verschlüsselung eines Strings
 
Bin gerade an einem Chat mit Autorisierung dran und wollte beim speichern die Passwörter verschlüsseln. Leider habe ich im Forum nix gefunden (oder ich hab's überlesen). Das Password ist ein String mit einer max. Länge von 256 Zeichen.

Schon mal THX im Vorraus

SubData 20. Apr 2005 07:18

Re: Verschlüsselung eines Strings
 
Wenn du die Passwörter nur verschlüsseln und nicht entschlüssen musst, dann würde ich MD5 verwenden.
(Verglichen wird dann einfach indem das eingegebene Passwort verschlüsselt wird und dann mit dem alten Schlüssel verglichen wird)

RedDust 20. Apr 2005 07:21

Re: Verschlüsselung eines Strings
 
Password müsste Ver- und Entschlüsselt werden. Köeine Frage noch, was ist MD5? Im Gebiet verschlüsselung hab' ich eine Glatze.

glkgereon 20. Apr 2005 07:40

Re: Verschlüsselung eines Strings
 
wie sicher muss es sein?

event reicht eine verschiebung der asciiwerte nach bestimmten mustern...oder xor

glkgereon 20. Apr 2005 07:44

Re: Verschlüsselung eines Strings
 
hier ein relativ einfacher algo, der den OttoNormalUser aber schon abhält...
ich guck mal, ich hatte den nämlich auch noch verbessert...


verschlüsseln
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i, adder, toggle:integer;
begin
  toggle:=SpinEdit1.Value;
  adder:=SpinEdit2.Value;
  Memo2.Clear;
  for i:=1 to length(Memo1.Text) do
    begin
    Memo2.Text:=Memo2.Text+ Chr((Ord(Memo1.Text[i])+adder) mod 256);
    adder:=adder+toggle;
    if abs(adder)>SpinEdit3.Value then toggle:=toggle*(-1);
    end;
end;
entschlüsseln
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var i, adder, toggle:integer;
begin
  toggle:=SpinEdit4.Value;
  adder:=SpinEdit5.Value;
  Memo1.Clear;
  for i:=1 to length(Memo2.Text) do
    begin
    Memo1.Text:=Memo1.Text+ Chr((Ord(Memo2.Text[i])-adder) mod 256);
    adder:=adder+toggle;
    if abs(adder)>SpinEdit6.Value then toggle:=toggle*(-1);
    end;
end;

maximov 20. Apr 2005 10:31

Re: Verschlüsselung eines Strings
 
Dafür haben wir eine passende lösung in der CodeLib [cl]RC4 Verschlüsselung[/cl] -> und da den RCx algorythmus benutzen, der ist wesentlich sicherer als der standard RC4.

alcaeus 20. Apr 2005 11:25

Re: Verschlüsselung eines Strings
 
Zitat:

Zitat von RedDust
Password müsste Ver- und Entschlüsselt werden.

Warum willst du ein Passwort entschluesseln? Das ist eine potentielle Sicherheitsluecke.

Zitat:

Zitat von RedDust
Köeine Frage noch, was ist MD5?

Bei Google suchenMD5 ist ein Bei Google suchenHash-Algorithmus. Er nimmt einen String, und erstellt daraus eine Zeichenkette, aus welcher der originale Text nicht mehr wiederhergestellt werden kann (ausser mit Rainbow-Tables). Hashes sind vor allem fuer Passwoerter geeignet. Beispiel DP (phpBB): Das Password wird als MD5-Hash in der DB gespeichert. Sobald du dich anmeldest, nimmt das php-Script das Klartext-Passwort, generiert den MD5-Hash daraus, und vergleicht es mit dem gespeicherten Hash. Stimmen die Hashes ueberein, passt das Passwort und du wirst angemeldet. Ich weiss jetzt nicht nach wie vielen Kombinationen eine Kollision auftritt (=2 verschiedene Strings, die den gleichen Hash erzeugen), aber die Zahl duerfte irgendwo ueber 2^32 liegen, also sehr sicher ;)

Greetz
alcaeus

moritz 20. Apr 2005 11:28

Re: Verschlüsselung eines Strings
 
Ich würde dir zu md5 Raten. Ich vermute mal, dass du keine Funktion brauchst, um das Passwort wiederherzustellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 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-2025 by Thomas Breitkreuz