suma kontrolna tablicy

0

no wiec tak, potrzebuje <ort>stwozyc </ort>sume kontrolna pliku ale po kawalku tzn dziele plik na kilkaset rownych kawalkow i tworze dla kazdego z nich osobna sume kontrolna , pobieram je do tablicy array[?..?] of char
wiem ze jest cos takiego jak na przyklad md5 ale tam mozna robic to na calych plikach albo na stringach.

wie ktos jak to zrobic? albo an czym? tak zeby sprawdzenie 1gigowego pliku nie trwalo roku :/

0

wiem jak możesz zrobić to sam: po prostu wejść do streama pliku i po kawałku stosować algorytm hashujący (np md5 jak wspomniałeś).

0

dzieki po czesci pomoglo to usprawnic, ale jest jeszcze jeden problem :/ (jak zwykle :] )

funkcja md5(dokladniej MD5string) nie radzi sobie z wartosciami #0 i jesli taka znajduje sie w podawanym rekordzie to hashuje tylko do mometu pojawienia sie #0 w ciagu :/ . No a branie 15MB tablicy i zamienianie wszystkich #0 na cos innego mija sie z celem :/

sa jakies inne funkcje hashujace ktore radza sobie z tym?

0

każdy algorytm będzie tak bodajże działał jeśli będziesz brał dane jako string, bo to chyba znak końca wiersza ale nie jestem pewny, tak jak tego pierwszego co napisałem.

najbardziej dostępna biblioteka :
http://www.fichtner.net/delphi/md5/md5.pas

i stosujesz te funkcje, oczywiście może trzeba będzie coś poprawić... :

procedure MD5Init(var Context: MD5Context);
procedure MD5Update(var Context: MD5Context; Input: pChar; Length: longword);
procedure MD5Final(var Context: MD5Context; var Digest: MD5Digest);

1 użytkowników online, w tym zalogowanych: 0, gości: 1