![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Na forum parę razy pojawia się pojęcie tablic tęczowych. Definicja na wikipedii nie mówi mi zbyt wiele; stąd też moje pytanie:
(1a)Czy tablica tęczowa np. md5 to zbiór ciągów znakowych, takich że hash md5 z tego ciągu odpowiada przynajmniej jednemu hashowi ciągu nie zawartego w tablicy tęczowej? A po polsku: (1b)Zakładamy, że mdX('alfa')=mdX('beta')='q2we' i mdX('xx')=mdX('dd')=mdX('hh')='aafa' oraz że to wszystkie hashe dla mdX. Czy tablica tęczowa hasha mdX wygląda np. tak: 'alfa':'q2we', 'xx':'aafa' ? (Czyli, że zawiera tylko po jednym słowie dla każdej wartości hasha.) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat z tego co wiem tablic tęczowych używa się do łamania np. md5, więc komuś nie zalezy na przekształceniu hasha acf43fe54* w ciąg, a na znalezieniu ciągu który da hash acf43fe54*. Nie istnieje funkcja odwrotna do md5/sha1, więc nie da się przekształcić hash'a w ciąg wejściowy. Pozostaje tylko szukanie takiego ciągu, który daje taki sam hash. A wykonać to można na dwa sposoby: 1) obliczać hash każdego ciągu w bazie danych i dopasowywać do wprowadzonego. Robimy to za każdym razem kiedy wyszukujemy jakiegoś hash'a 2) trzymamy w bazie danych ciąg + hash, dzięki czemu ograniczamy się jedynie do porównań z 'łamanym' hash'em Wikipedia też ma na to swoje zdanie: http://pl.wikipedia.org/wiki/T%C4%99czowe_tablice tylko szczerze mówiąc nie zrozumiałem środkowego akapitu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 02:32 |