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).
Taka teoria o łamaniu MD5
- Rejestracja: dni
- Ostatnio: dni
- Postów: 304
- Rejestracja: dni
- Ostatnio: dni
- Tak, istnieje, string ze ścieżką do pliku.
- Że co?
- Nie, nie napisałeś.
- Rejestracja: dni
- Ostatnio: dni
- 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: dni
- Ostatnio: dni
Trochę się źle wysłowiłem "komponent" wiem że nie utrzyma taki jak memo bo może ogarnąć max 2gb (z tego co słyszałem), chodziło mi co coś co by utrzymało 40 gb, a co do indexowania to nie pomyślałem ;] heh
- Rejestracja: dni
- Ostatnio: dni
Czyli korzystanie z bazy danych sql ale jednak server dla niej obciąża kompa, czy by to miało wpływ na działanie aplikacji (znaczące) ? czy by raczej postawić na server jakimś hostingu i przez połączenie przez neta bazą?
- Rejestracja: dni
- Ostatnio: dni
- 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.
- Rejestracja: dni
- Ostatnio: dni
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: dni
- Ostatnio: dni
- Lokalizacja: XML Hills
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.