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.
MD5 kódolás, hogyan?
Re: MD5 kódolás, hogyan?
String MD5:
File 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
Re: MD5 kódolás, hogyan?
Köszönöm!
Lenne egy kérdésem az md5 kóddal kapcsolatban. Hogyan lehet visszakonvertálni az eredetire? Lehetséges?
Lenne egy kérdésem az md5 kóddal kapcsolatban. Hogyan lehet visszakonvertálni az eredetire? Lehetséges?
Re: MD5 kódolás, hogyan?
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.
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