Oldal: 1 / 1
MD5 kódolás, hogyan?
Elküldve: 2016.09.12. 18:02
Szerző: berkesi33
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.
Re: MD5 kódolás, hogyan?
Elküldve: 2016.09.12. 18:55
Szerző: gaborg
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;
Re: MD5 kódolás, hogyan?
Elküldve: 2016.09.12. 19:11
Szerző: berkesi33
Köszönöm!
Lenne egy kérdésem az md5 kóddal kapcsolatban. Hogyan lehet visszakonvertálni az eredetire? Lehetséges?
Re: MD5 kódolás, hogyan?
Elküldve: 2016.09.12. 19:38
Szerző: gaborg
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.