Anfidya'nın arka bahçesi..

There is dark web in the deep web..

Archive for the ‘delphi checksum’ tag

[Delphi] CheckSum Değeri Alma

leave a comment

Merhaba,

Checksum nedir? Kısaca bir dosyanın eşsiz(benzersiz) karakter bazlı yansımasıdır.

Checksum ne işe yarar? Bir dosyada sonradan değişiklik yapılmış mı kontrol ettirmek için kullanabilirsiniz.

Checksum iyi bir şey mi? Bilmiyorum ki.

 

function GetCheckSum(FileName: string): DWORD;
var
 F: file of DWORD;
 P: Pointer;
 Fsize: DWORD;
 Buffer: array [0..500] of DWORD;
begin
 FileMode := 0;
 AssignFile(F, FileName);
 Reset(F);
 Seek(F, FileSize(F) div 2);
 Fsize := FileSize(F) - 1 - FilePos(F);
 if Fsize > 500 then Fsize := 500;
 BlockRead(F, Buffer, Fsize);
 Close(F);
 P := @Buffer;
 asm
 xor eax, eax
 xor ecx, ecx
 mov edi , p
 @again:
 add eax, [edi + 4*ecx]
 inc ecx
 cmp ecx, fsize
 jl @again
 mov @result, eax
 end;
end;

Written by anfidya

Eylül 12th, 2014 at 1:48 am