Taka teoria o łamaniu MD5

Taka teoria o łamaniu MD5
PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 304
0

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).

RE
  • Rejestracja: dni
  • Ostatnio: dni
0
  1. Tak, istnieje, string ze ścieżką do pliku.
  2. Że co?
  3. Nie, nie napisałeś.
LN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1398
0
  1. 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)
  2. Trzeba zorganizowac te MD5tki w jakas cwana strukture - np drzewo slownikowe indeksowane po MD5tkach
  3. Poczytaj o tablicach teczowych
  • Rejestracja: dni
  • Ostatnio: dni
0

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

jakubkrol
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 81
0

@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: dni
  • Ostatnio: dni
0

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ą?

LE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 232
0

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
0

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

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
0

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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.