Hash
Hash to funkcja, która przekształca jedną wartość w inną. Haszowanie danych jest powszechną praktyką w informatyce i służy do wielu różnych celów. Przykłady obejmują kryptografię, kompresję, generowanie sum kontrolnych oraz indeksowanie danych.
Haszowanie dobrze sprawdza się w kryptografii, ponieważ zasłania oryginalne dane inną wartością. Funkcji skrótu można użyć do wygenerowania wartości, którą można odkodować wyłącznie przez wyszukanie jej w tablicy mieszającej. Tablicą może być tablica, baza danych lub inna struktura danych. Dobra kryptograficzna funkcja skrótu jest nieodwracalna, co oznacza, że nie można odtworzyć jej działania.
Różne rodzaje kompresji, takie jak stratna kompresja obrazów i kompresja multimediów, mogą wykorzystywać funkcje skrótu do zmniejszania rozmiaru plików. Dzięki przekształceniu danych w mniejsze wartości pliki multimedialne można kompresować do mniejszych fragmentów. Tego rodzaju jednokierunkowego haszowania nie można odwrócić, ale może ono utworzyć przybliżenie oryginalnych danych, które zajmuje mniej miejsca na dysku.
Hashy służą również do tworzenia sum kontrolnych, które sprawdzają integralność plików. Suma kontrolna to niewielka wartość generowana na podstawie bitów w pliku lub bloku danych, takim jak obraz dysku. Gdy funkcja sumy kontrolnej zostanie uruchomiona dla kopii pliku, na przykład pliku pobranego z Internetu, powinna wygenerować taką samą wartość hash jak dla oryginalnego pliku. Jeśli plik nie wygeneruje takiej samej sumy kontrolnej, oznacza to, że coś w pliku zostało zmienione.
Na koniec hashe służą do indeksowania danych. Haszowane wartości można wykorzystać do przypisywania danych do poszczególnych „kubłów” w tablicy mieszającej. Każdy kubeł ma unikalny identyfikator, który pełni funkcję wskaźnika do oryginalnych danych. Tworzy to indeks znacznie mniejszy od oryginalnych danych, dzięki czemu wartości można wyszukiwać i uzyskiwać do nich dostęp wydajniej.
Sprawdź swoją wiedzę