Dosya MD5 Hesaplama Problemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
binarykod
Üye
Mesajlar: 5
Kayıt: 30 Eyl 2008 08:22

Dosya MD5 Hesaplama Problemi

Mesaj gönderen binarykod »

Dosyaların MD5 değerini hesaplamak için aşağıdaki fonksiyonu kullanıyorum.Fakat 10-20 mb civarındaki dosyaların md5 değerini hesaplarken bir sorun yok fakat boyutu 100 mb civarı olan dosyaların md5 değerini hesaplarken işlemci kullanımı artıyor ve bilgisayarda takılmalar başlıyor.Herhangi bir çözümü var mı?

Kod: Tümünü seç

function MD5(const fileName : string) : string;
var
  idmd5 : TIdHashMessageDigest5;
  fs : TFileStream;
  hash : T4x4LongWordRecord;
begin
  idmd5 := TIdHashMessageDigest5.Create;
  fs := TFileStream.Create(fileName, fmOpenRead OR fmShareDenyWrite) ;
  try
    result := idmd5.AsHex(idmd5.HashValue(fs)) ;
  finally
    fs.Free;
    idmd5.Free;
  end;
end;
Fonksiyon kullanımı

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
  Showmessage(MD5('C:\deneme.txt'));
end;
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Dosya MD5 Hesaplama Problemi

Mesaj gönderen Battosai »

Çözümü yoktur haliyle yavaşlama olacaktır....Ayırıca yapılmak istenen nedir dosya şifrelemek mi ?
selam
Üye
Mesajlar: 51
Kayıt: 02 Tem 2003 07:08

Re: Dosya MD5 Hesaplama Problemi

Mesaj gönderen selam »

Ben http://www.softpedia.com/get/System/Fil ... ator.shtml adresinden bir program indirdim. 800 mb lik bir dosya kullandım. gerçekten uzun sürüyor. Bu programda label a işlemin ne kadarının tamamlandığını yazmışlar. Siz de böyle birşey yapabilirsiniz.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Dosya MD5 Hesaplama Problemi

Mesaj gönderen mrmarman »

Dosya büyüklüğünü kontrol ettir, 10 MB'a kadar olanların tamamını, büyük olanların başından ilk 10 MB'lık kısmını ( stream ile kesebilirsin ) MD5'lersin olur biter. Dosyanın sonuna bişeyler eklenir vs. kaygın olursa o zaman baştan 5 sondan 5 mb kırpıp tek bir yeni dosya olarak elde ederi, bu dosyayı MD5 ile alırsın.

Sonuçta programının / verinin neresine etki edileceği üç aşağı beş yuları bellidir. Sadece bu kısımlara odaklanırsa sonuç olumlu olur.
Resim
Resim ....Resim
binarykod
Üye
Mesajlar: 5
Kayıt: 30 Eyl 2008 08:22

Re: Dosya MD5 Hesaplama Problemi

Mesaj gönderen binarykod »

Dosya şifrelemek değil sadece dosyaların md5 değerini öğrenmek için basit bir uygulama.Stream ile ilgili kısmı araştırmak gerekli.Teşekkürler.
Cevapla