Generator SHA-1

Generuj skróty SHA-1 z dowolnego ciągu znaków za pomocą naszego narzędzia do generowania SHA-1 dla bezpiecznego haszowania danych.

5 z 2 ocen
Generator SHA-1

Generator SHA-1 to bezpłatne narzędzie, które przekształca ciąg znaków w 160-bitowy skrót SHA-1 wyświetlany jako 40 znaków szesnastkowych.

Jak działa SHA-1?

SHA-1 tworzy skrót o stałej długości z danych wejściowych dowolnego rozmiaru. Haszowanie SHA-1 jest operacją jednokierunkową, dlatego skrót nie zawiera czytelnej kopii pierwotnego tekstu. Nawet niewielka zmiana danych wejściowych daje inny 160-bitowy wynik.

SHA-1 został opracowany przez amerykańską Agencję Bezpieczeństwa Narodowego i opublikowany w 1995 roku przez National Institute of Standards and Technology. Nazwa jest skrótem od Secure Hash Algorithm 1. Mimo tej nazwy SHA-1 nie jest już uznawany za odporny na ataki kolizyjne.

Kolizja SHA-1 występuje wtedy, gdy dwa różne zestawy danych wejściowych mają ten sam skrót. Badacze zademonstrowali praktyczne kolizje SHA-1, dlatego algorytm ten nie jest już zalecany do podpisów cyfrowych, certyfikatów ani innych zastosowań, w których atakujący mógłby celowo zmieniać treść.

Schemat: tekst wejściowy przechodzi przez funkcję SHA-1 i daje skrót o stałej długości, którego nie da się odwrócić

Jak wygenerować skrót SHA-1?

Wpisz dokładny ciąg znaków, dla którego chcesz obliczyć skrót, a następnie odczytaj 40-znakową wartość szesnastkową w polu wyniku Skrót SHA-1. Obliczenia odbywają się na serwerze. Dane wejściowe są przesyłane do niego przez HTTPS i nie są przechowywane.

Poniższe standardowe przykłady pokazują oczekiwany format oraz wpływ danych wejściowych na wynik:

  • Dane wejściowe abc dają wynik a9993e364706816aba3e25717850c26c9cd0d89d.
  • Pusty ciąg bajtów daje wynik da39a3ee5e6b4b0d3255bfef95601890afd80709.
  • Dane wejściowe abc ze spacją na końcu dają inny skrót niż abc.

SHA-1 przetwarza bajty, a nie znaki w ich postaci czytelnej dla człowieka. Znaczenie mają spacje, znaki interpunkcyjne, wielkie litery i zakończenia wierszy. Generator SHA-1 traktuje liczby wpisane w polu tekstowym jako znaki, dlatego 123 oznacza trzy znaki: 1, 2 i 3.

Przed użyciem SHA-1 znaki diakrytyczne i znaki spoza alfabetu łacińskiego muszą zostać zakodowane jako bajty. Dwa systemy mogą wygenerować różne skróty dla tekstu, który wygląda identycznie, jeśli korzystają z innego kodowania znaków lub innej normalizacji Unicode. Porównując wynik SHA-1 z tego generatora z wynikiem z innego systemu, upewnij się, że oba używają tego samego kodowania, zwykle UTF-8, oraz tej samej konwencji zakończeń wierszy.

Narzędzie Generator SHA-1 w serwisie digily.link wraz z formularzem wprowadzania danych

Czy skrót SHA-1 można odszyfrować lub odwrócić?

Nie. Skrótu SHA-1 nie można odszyfrować, ponieważ haszowanie nie jest szyfrowaniem i nie istnieje klucz deszyfrujący. Ogólnie rzecz biorąc, odzyskanie dowolnych pierwotnych danych wejściowych na podstawie ich skrótu pozostaje niewykonalne obliczeniowo.

Inaczej jest w przypadku przewidywalnych danych. Atakujący może obliczać skróty SHA-1 prawdopodobnych wartości ze słownika lub wygenerowanej listy, aż znajdzie pasujący wynik. Właśnie dlatego SHA-1 nie wolno używać do przechowywania haseł, mimo że samego skrótu nie da się po prostu odwrócić.

Atak kolizyjny również nie odszyfrowuje skrótu. Pozwala znaleźć dwa różne zestawy danych wejściowych o tym samym skrócie, co wystarcza, by podważyć wiarygodność podpisów i kontroli integralności w środowisku narażonym na celowe ataki.

Przykładowy wynik wygenerowany przez narzędzie Generator SHA-1

Gdzie nadal używa się SHA-1?

SHA-1 wciąż pojawia się w sumach kontrolnych stosowanych poza scenariuszami ataków, przy wykrywaniu duplikatów oraz w systemach wymagających zgodności ze starszym formatem. Jego 40-znakową reprezentację szesnastkową można też znaleźć w historycznych identyfikatorach systemów kontroli wersji i archiwalnych rejestrach oprogramowania.

  • Sumy kontrolne: SHA-1 może wykrywać przypadkowe zmiany, jeśli oczekiwany skrót pochodzi z zaufanego źródła. Nie potwierdzi jednak integralności, gdy atakujący może podmienić zarówno plik, jak i opublikowany skrót.
  • Deduplikacja: SHA-1 może pomóc wykrywać pozornie identyczne rekordy lub pliki, jeśli celowe tworzenie kolizji nie mieści się w przyjętym modelu zagrożeń. Systemy korzystające z SHA-1, w których nie można zaakceptować żadnej kolizji, powinny dodatkowo porównywać właściwe dane.
  • Zgodność ze starszymi rozwiązaniami: niektóre bazy danych, interfejsy API i formaty plików wymagają istniejącej wartości SHA-1. Spełnienie takiego wymagania jest uzasadnione, ale w nowych rozwiązaniach należy używać współczesnego algorytmu.

Nie używaj zwykłego SHA-1 do haseł, podpisów cyfrowych, tworzenia ani podpisywania certyfikatów, generowania tokenów bezpieczeństwa, uwierzytelniania ani rejestrowania dokumentów w sposób odporny na manipulacje.

Bezpieczeństwo SHA-1 i zalecane zamienniki

SHA-1 jest kryptograficznie złamany pod względem odporności na kolizje i nie jest zalecany w nowych zastosowaniach wymagających bezpieczeństwa. Jego 160-bitowy skrót jest krótszy niż wyniki popularnych wariantów SHA-2 i SHA-3, ale sama długość skrótu nie jest powodem do rezygnacji z tego algorytmu. Decydujące znaczenie mają zademonstrowane ataki kolizyjne.

Do sum kontrolnych, których oczekiwane wartości pochodzą z zaufanego źródła, używaj SHA-256 lub SHA-512, chyba że specyfikacja wymaga innego algorytmu. Uwierzytelniona kontrola integralności wymaga odpowiedniego kodu MAC lub schematu podpisu cyfrowego. SHA-3 jest inną współczesną rodziną algorytmów. Jeśli wymagany jest konkretnie 224-bitowy skrót SHA-2, Generator SHA-224 utworzy wartość w tym formacie. Do haseł zamiast SHA-1 potrzebna jest specjalna funkcja haszowania haseł, taka jak Argon2id, scrypt lub bcrypt.

Najczęstsze pytania o SHA-1

Czy skróty SHA-1 zapisane wielkimi i małymi literami są różne?

Nie. Wielkie i małe litery w zapisie szesnastkowym mogą reprezentować tę samą 160-bitową wartość. System wykonujący porównanie tekstowe z rozróżnianiem wielkości liter może jednak uznać te dwa ciągi za różne, dlatego zachowaj format wymagany przez dany system.

Czy za pomocą tego narzędzia można obliczyć SHA-1 pliku?

To narzędzie oblicza skrót ciągu znaków i nie umożliwia przesyłania plików. Aby uzyskać sumę kontrolną pliku, użyj lokalnego narzędzia, takiego jak sha1sum w systemie Linux, albo równoważnego polecenia odczytującego bezpośrednio bajty pliku. Nie wklejaj zawartości pliku binarnego do pola tekstowego Generatora SHA-1, ponieważ zmiany kodowania lub zakończeń wierszy mogą wpłynąć na wynik.

Czy HMAC-SHA-1 też jest złamany?

Opublikowane ataki kolizyjne na SHA-1 nie łamią bezpośrednio HMAC-SHA-1 w ten sam sposób, ponieważ HMAC korzysta z tajnego klucza i odrębnej konstrukcji. Mimo to w nowych protokołach zwykle wybiera się HMAC-SHA-256 lub inne współczesne rozwiązanie, aby uniknąć zależności od starszych technologii i ograniczeń wynikających z polityk bezpieczeństwa.

Czy dodanie soli sprawia, że SHA-1 nadaje się do haseł?

Nie. Sól zapobiega zapisywaniu identycznych haseł jako takich samych skrótów SHA-1 i utrudnia użycie wcześniej obliczonych tablic, ale SHA-1 nadal działa zdecydowanie za szybko, by nadawać się do przechowywania haseł. Użyj funkcji haszowania haseł z konfigurowalnym kosztem obliczeniowym i unikalną, losową solą.

Co sprawdzić na koniec?

Zanim porównasz wynik SHA-1 z tego generatora z innym skrótem, sprawdź, czy dane wejściowe nie zawierają ukrytych spacji lub końcowego znaku nowego wiersza oraz czy nie różnią się kodowaniem znaków albo wielkością liter. Używaj SHA-1 tylko wtedy, gdy wymaga go istniejący system lub gdy odporność na kolizje nie należy do wymagań bezpieczeństwa. W nowych rozwiązaniach wybierz współczesną funkcję skrótu odporną na kolizje do zaufanych sum kontrolnych, kod MAC z kluczem do uwierzytelniania wiadomości albo odpowiedni schemat podpisu cyfrowego.

Popularne narzędzia