Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Unit zur verschlüsselung von Passwörtern! (https://www.delphipraxis.net/71951-unit-zur-verschluesselung-von-passwoertern.html)

Kidix 22. Jun 2006 19:56


Unit zur verschlüsselung von Passwörtern!
 
Hi,


kennt jemand eine Unit zur Verschlüsselung von Passwörtern?
Ich bekomme es nicht hin DEC unter D2005 PE zu installieren, deswegen frage ich!

Gruß

Kidix

mkinzler 22. Jun 2006 19:59

Re: Unit zur verschlüsselung von Passwörtern!
 
TuboPower LockBox

Cöster 22. Jun 2006 20:03

Re: Unit zur verschlüsselung von Passwörtern!
 
Zwei Button und zwei Edit-Felder ins Formular. Und hier die zwei procedures:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,k,l: integer;
    Basis,Code,Wort: String;
begin
 Basis:='asdfqwertzuighjklöäopümnbvcxyQWERASDFYXCVBNMGHJKLÖÄÜPOIUZTß0987654321 fdsaghkl1234567890poiuzXCVBNM';        {diesen String solltest du noch ein bisschen durchwurschteln, er muss hier aber der gleiche sein wie unten. Du könntest ihn auch verlängern oder zusätzliche Zeichen reinpacken, musst einige Schleifenvariablen dann aber evtl. ändern}
 Edit2.Text:='';
 Wort:=Edit1.Text;
 l:=0;
 For i:=1 to Length(Wort) do begin
  k:=0;
  repeat
   k:=k+1;
   l:=l+1;
   If l>99 then l:=l-99;
  until Wort[i]=Basis[l];
  If k<10 then Code:='0'+IntToStr(k)
  Else if k<100 then Code:=IntToStr(k);
  Edit2.Text:=Edit2.Text+Code;
 end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i,k,l: integer;
    Basis,Code: String;
begin
 Basis:='asdfqwertzuighjklöäopümnbvcxyQWERASDFYXCVBNMGHJKLÖÄÜPOIUZTß0987654321 fdsaghkl1234567890poiuzXCVBNM';
 Edit1.Text:='';
 Code:=Edit2.Text;
 l:=0;
 For i:=1 to Length(Code) div 2 do begin
  k:=StrToInt(Code[2*i-1]+Code[2*i]);
  l:=l+k;
  If l>99 then l:=l-99;
  Edit1.Text:=Edit1.Text+Basis[l];
 end;
end;

Luckie 22. Jun 2006 23:00

Re: Unit zur verschlüsselung von Passwörtern!
 
Zitat:

Zitat von Kidix
Ich bekomme es nicht hin DEC unter D2005 PE zu installieren, deswegen frage ich!

Könnte daran liegen, dass es nichts zu installieren gibt.

jus 23. Jun 2006 00:09

Re: Unit zur verschlüsselung von Passwörtern!
 
@Kidix
Ich muß Luckie zustimmen, normalerweise braucht man DEC nicht installieren. Ich habe zwar nur Delphi7, ich denke aber, dass bei Delphi 2005 wahrscheinlich auch nicht viel anders ist als bei Delphi 7.
Also bei meinem Delphi7 genügte es einfach die neueste DEC_5_1c.zip Version bei Luckie runterzuladen und in ein Verzeichnis mit den dazugehörigen Unterverzeichnissen zu entpacken.
Und dann den Pfad in (zumindest bis Delphi7) Tools->Evironment Options->Library->Library Path hinzuzufügen. Bei mir steht in der Library Path z.B. vor dem Hinzufügen:

$(DELPHI)\Lib;$(DELPHI)\Bin;$(DELPHI)\Imports;$(DE LPHI)\Projects\Bpl;$(DELPHI)\Rave5\Lib

Wichtig ist dieses "Part_I" Verzeichnis von DEC, das muss du hinzufügen. Danach steht in Library Path dann:

$(DELPHI)\Lib;$(DELPHI)\Bin;$(DELPHI)\Imports;$(DE LPHI)\Projects\Bpl;$(DELPHI)\Rave5\Lib;D:\hagen\DEC\Part_I

wichtig ist auch, dass der Strichpunkt (rot hervorgehoben) vor dem neuem Pfad nicht vergessen wird.

Danach brauchst du nur die folgenden 4 Units (DECCipher, DECUtil, DECRandom, DECHash) für die Verschlüsselung in deinem Sourcecode reingeben.

Delphi-Quellcode:
uses
  Windows, Messages, ..., DECCipher, DECUtil, DECRandom, DECHash;
Zum ansprechen der neuen 5.1 Version würde ich dir folgenden Beitrag empfehlen. Und schaue dir in dem angegebenen Beitrag mein Filecrypt.zip an.

Grüsse :) ,
jus

P.S: Der obige Fall gilt nur für Part_I Komponenten von DEC, also quasi für sämtliche symmetrische Verschlüsselungen und Hashfunktionen von DEC mit Source. Wenn man Part_II oder gleich alle Parts nutzen will, muß man einen anderen Weg über vorkompilierte Units gehen, aber die obige Angabe sollte aber für deinen Zweck eigentlich reichen, da Part_II andere Funktionen beinhalten.

himitsu 23. Jun 2006 11:11

Re: Unit zur verschlüsselung von Passwörtern!
 
DEC (jedenfalls das in der neuesten DEC_5_1c.zip bei Luckie) läuft eh nur unter D5 bis D7 ... mit D2005 ist da nichts, da es keine DCU's dafür gibt :zwinker:

Das DEC ist ja vorkompiliert und demnach brauchst du DCU's, welche mit D2005 kompiliert wurden.
Such mal im Forum, irgendwo gab es (ich glaub in den ganz großen DEC-Thread) schon welche.

negaH 23. Jun 2006 12:59

Re: Unit zur verschlüsselung von Passwörtern!
 
Das ist nur teilweise richtig. DEC besteht aus zwei Teilen, dem Part I und DECMath. Alles was zu Part I gehört ist Freeware mit Sourcen und kann auch unter D2005 compiliert werden (ich selber habs mit D2006 getestet). Alles was zu DECMath gehört liegt als precompilierte DCUs vor, für D5 bis D7. Allerdings auch das habe ich schon unter D2006 compiliert. Da ich aber keine vollständige D2006 Version habe (nur auf einem Firmenrechner) kann ich diese DCUs nicht mit in die ZIP beipacken.

Gruß Hagen


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