Witam.
Mam parę pytań
1.Czy jakiś komponent pomieści 40GB danych (tylko żeby nie ładował tego do ramu)
2.Jak szybko można by było funkcją FindFires (albo innym sposobem) odnaleźć dany fragment danych np. jest 20GB zapełnione podobnym do tego ac519ac9819fe31bc23b0798c47d620a (oddzielone dwukropkiem ale to inna historia) i ile by to zajęło wyszukanie tylko jednego takiego ac519ac9819fe31bc23b0798c47d620a (am on znajduje się w 5 GB)
3.Nie ukrywam lecz to czysta teoria że myślę nad napisaniem łamacza do MD5 (metoda porównania).
- Rejestracja:około 16 lat
- Ostatnio:ponad 9 lat
- Postów:304
- Rejestracja:około 16 lat
- Ostatnio:12 miesięcy
- Postów:1398
- Skoro mowisz o komponencie, ktory by mial trzymac dane - odpusc sobie, bo masz za mala wiedze... (nie uzywa sie komponentow, jak np Memo, do takich celow)
- Trzeba zorganizowac te MD5tki w jakas cwana strukture - np drzewo slownikowe indeksowane po MD5tkach
- Poczytaj o tablicach teczowych

- Rejestracja:prawie 20 lat
- Ostatnio:około 13 lat
- Postów:81
@proqix - no właśnie o to poprzednikom chodziło... Jeżeli użwasz Delphi "komponentami" samymi i chcesz to tak wykonać to tego nie zrobisz. Tutaj są rozwiązania typu TList (chociaż za dużo danych), czy SQLite (powinno idealnie pasować), nie komponenty...
- Rejestracja:ponad 16 lat
- Ostatnio:ponad 3 lata
- Postów:232
i jak wyobrażasz sobie przesyłanie 40 GB z serwera na komputer? po drugie nikt normalny nie ładuje 40GB danych do programu. nawet 5 GB to za dużo. Dzielisz to na mniejsze części, np alfabetycznie rozbijasz biorąc pod uwage pierwsza literkę/cyferkę danego ciągu. Następnie możesz to jeszcze rozbić na podfoldery biorąc pod uwagę 2 literkę/cyferkę itd. Będzie to chodzić znacznie szybciej.
inny sposób to po prostu rozbicie pliku powiedzmy co 1 GB. i wczytywanie ich po kolei i przeszukiwanie.
tak sobie myślałem by zrobić bazę w MySQL (bo umiem najlepiej) i "skatalogować" po 3 pierwszych znakach z sumy i tak wybiera sobie odpowiednią tabelę i w pętli sprawdza aż natnie się na prawidłowe porównanie.
Jak by mi ktoś powiedział wzór albo policzył ile by wyszło (GB danych) jak by uznać wszystkie kombinacje znaków alfabetu i cyfr od 3 znaków do 10 znaków zakodowanych w MD5

- Rejestracja:prawie 20 lat
- Ostatnio:około 13 godzin
Zakładając same duże i małe litery + cyfry, to wyjdzie ci dokładnie tyle różnych haseł:
sum (10 + 52) ^ l, l = 3 to 10
Dość sporo :) Nie wiem ile tam będzie kolizji, ale jestem prawie pewien, że tęczowe tablice to coś sprytniejszego niż baza par (ciąg, skrót).
Trzymanie par (ciąg, skrót) jest też bez sensu ponieważ nawet taki lekko przestarzały program jak: http://www.golubev.com/hashgpu.htm wyciąga ok 5.6 milardów haszy na sekundę na Radeonie HD 5970.