rss LEGFRISSEBB TÉMÁK Csatlakozz új fórumunkhoz...

MD5 kódolás, hogyan?

Delphi programozási fórum.
berkesi33
Hozzászólások: 4
Csatlakozott: 2016.09.12. 12:53

MD5 kódolás, hogyan?

HozzászólásSzerző: berkesi33 » 2016.09.12. 18:02

Sziasztok,
szeretnék md5-ös kódot generálni egy karaktersorozatból, illetve ha lehetséges, akkor egy szöveg file-ból is ellenőrzés és titkosítás céljából.
Delphi 5 Professional.
Előre is köszönöm a megoldásokat.

gaborg
Hozzászólások: 18
Csatlakozott: 2016.08.04. 01:23

Re: MD5 kódolás, hogyan?

HozzászólásSzerző: gaborg » 2016.09.12. 18:55

String MD5:

Kód: Egész kijelölése

uses IdHashMessageDigest, idhash

function MD5(s: string) : string;
var
   idmd5 : TIdHashMessageDigest5;
begin
   idmd5 := TIdHashMessageDigest5.Create;
   try
      result := LowerCase(idmd5.AsHex(idmd5.HashValue(s)));
   finally
      idmd5.Free;
   end;
end;


File MD5:

Kód: Egész kijelölése

uses IdHashMessageDigest, idhash

function fileMD5(const fileName : string) : string;
var
   idmd5 : TIdHashMessageDigest5;
   fs : TFileStream;
begin
   idmd5 := TIdHashMessageDigest5.Create;
   fs := TFileStream.Create(fileName, fmOpenRead or fmShareDenyWrite);
   try
      result := idmd5.AsHex(idmd5.HashValue(fs));
   finally
      idmd5.Free;
      fs.Free;
   end;
end;
Üdv.: gaborg

berkesi33
Hozzászólások: 4
Csatlakozott: 2016.09.12. 12:53

Re: MD5 kódolás, hogyan?

HozzászólásSzerző: berkesi33 » 2016.09.12. 19:11

Köszönöm!
Lenne egy kérdésem az md5 kóddal kapcsolatban. Hogyan lehet visszakonvertálni az eredetire? Lehetséges?

gaborg
Hozzászólások: 18
Csatlakozott: 2016.08.04. 01:23

Re: MD5 kódolás, hogyan?

HozzászólásSzerző: gaborg » 2016.09.12. 19:38

Röviden: nem lehet.

Az md5 által generált fix hosszúságú (32 byte) hash nem visszaalakítható. Több karaktersorozatnak is lehet ugyanaz a hash értéke.
Azt lehet ellenőrizni, hogy két string-nek ugyanaz-e az md5 kódja.
Pl. Jelszó tárolás esetén nem a jelszó kerül az adatbázisba, hanem annak az md5 kódja.
Jelszó ellenőrzéskor azt lehet összehasonlítani, hogy az adatbázisban tárolt md5 megegyezik-e a megadott string md5-jével.
Üdv.: gaborg


Vissza: “Delphi”