Generuj skróty MD5, SHA-1, SHA-256, SHA-384 i SHA-512.
Wszystkie obliczenia wykonywane są lokalnie w przeglądarce. Dane nie są wysyłane na serwer.
Wyniki mają charakter informacyjny. Potwierdź je w innych źródłach.
Funkcje skrótu i do czego służą
Funkcja skrótu zamienia dowolne wejście w odcisk o stałej długości. To samo wejście zawsze daje ten sam skrót; zmiana jednego znaku daje zupełnie inny. Skróty weryfikują, że dane się nie zmieniły — nie służą do przechowywania haseł.
Jak to działa
- MD5 daje 128 bitów (32 znaki szesnastkowe), SHA-1 160, a SHA-256 256.
- Długość wyniku jest stała niezależnie od rozmiaru wejścia: plik jednobajtowy i gigabajtowy dają pod SHA-256 te same 64 znaki.
- Funkcja jest z założenia jednokierunkowa. Nie istnieje operacja odzyskująca wejście ze skrótu.
- Jest deterministyczna, więc ten sam plik policzony na dwóch maszynach musi dać identyczny wynik — i to czyni sumy kontrolne użytecznymi.
MD5 → 128 bitów → 32 znaki hex (złamany, nie do zastosowań bezpieczeństwa) SHA-1 → 160 bitów → 40 znaków hex (złamany, nie do zastosowań bezpieczeństwa) SHA-256 → 256 bitów → 64 znaki hex (obecny domyślny)
Przykład z liczbami
Skrót pięcioznakowego napisu hello każdym algorytmem. Możesz to odtworzyć w terminalu.
- printf 'hello' | md5
- → 5d41402abc4b2a76b9719d911017c592
- printf 'hello' | shasum -a 256
- → 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
- teraz zmień jedną literę: printf 'hellp' | shasum -a 256
- → zupełnie niepowiązany skrót, bez wspólnego przedrostka z pierwszym
Jeden zmieniony znak daje całkiem inny skrót. Ta własność lawiny pozwala sumie kontrolnej wykryć pojedynczy uszkodzony bajt w dużym pliku.
Jak czytać wynik
- Nigdy nie licz nimi skrótu hasła. MD5, SHA-1 i SHA-256 zaprojektowano jako szybkie, a szybkość jest przy hasłach dokładnie tym, czego nie chcemy — współczesny GPU sprawdza miliardy prób SHA-256 na sekundę. Użyj bcrypt, scrypt albo Argon2, które są celowo wolne i solone.
- MD5 i SHA-1 są złamane dla zastosowań bezpieczeństwa: istnieją praktyczne kolizje, czyli można spreparować dwa różne wejścia o tym samym skrócie. Jako nieadwersaryjne sumy kontrolne do wykrywania przypadkowych uszkodzeń nadal się nadają.
- Skrót to nie szyfrowanie. Nie ma klucza ani drogi powrotnej — i o to chodzi, to nie ograniczenie.
- Porównanie policzonego skrótu z opublikowanym przez źródło dowodzi integralności tylko wtedy, gdy opublikowany skrót przyszedł kanałem, którego napastnik nie mógł też zmienić.
Częste pytania
- Czy mogę odwrócić skrót i odzyskać tekst?
- Matematycznie nie. Strony reklamujące taką usługę w rzeczywistości sprawdzają Twój skrót w gotowej tablicy popularnych wejść. Działa to dla haseł i słów ze słownika — i właśnie dlatego hasła wymagają solonej, wolnej funkcji.
- Którego algorytmu użyć?
- SHA-256 do sum kontrolnych i integralności. bcrypt albo Argon2 do haseł. MD5 tylko wtedy, gdy wymaga tego coś starego i nic w kwestii bezpieczeństwa od tego nie zależy.