Kalkulator kodu skrótu SHA-1
Opublikowano: 16 lutego 2025 23:23:35 UTC
Kalkulator kodu skrótu wykorzystujący funkcję skrótu Secure Hash Algorithm 1 (SHA-1) do obliczania kodu skrótu na podstawie wprowadzonego tekstu lub przesłanego pliku.SHA-1 Hash Code Calculator
SHA-1 (Secure Hash Algorithm 1) to kryptograficzna funkcja skrótu zaprojektowana przez NSA i opublikowana przez NIST w 1995 r. Generuje 160-bitową (20-bajtową) wartość skrótu, powszechnie reprezentowaną jako 40-znakowy ciąg szesnastkowy. SHA-1 był szeroko stosowany do zabezpieczania integralności danych, podpisów cyfrowych i certyfikatów, ale obecnie jest uważany za niebezpieczny ze względu na podatność na ataki kolizyjne. Jest tutaj uwzględniony na wypadek, gdyby trzeba było obliczyć kod skrótu, który musi być zgodny ze starszym systemem, ale nie należy go używać podczas projektowania nowych systemów.
Pełne ujawnienie: nie napisałem konkretnej implementacji funkcji hash używanej na tej stronie. Jest to standardowa funkcja dołączona do języka programowania PHP. Stworzyłem jedynie interfejs sieciowy, aby udostępnić go tutaj publicznie dla wygody.
O algorytmie skrótu SHA-1
Nie jestem matematykiem, więc postaram się wyjaśnić tę funkcję skrótu w sposób zrozumiały dla osób niebędących matematykami. Jeśli chcesz poznać dokładną, naukową wersję matematyczną tego wyjaśnienia, znajdziesz ją na wielu innych stronach internetowych ;-)
Wyobraź sobie SHA-1 jako specjalną niszczarkę do papieru, która bierze dowolną wiadomość — czy to jedno słowo, zdanie, czy całą książkę — i niszczy ją w bardzo specyficzny sposób. Ale zamiast po prostu niszczyć, magicznie wypluwa unikalny „kod niszczenia”, który zawsze ma dokładnie 40 znaków szesnastkowych.
- Na przykład wpisujesz „Witaj”
- Otrzymujesz 40 cyfr szesnastkowych, takich jak f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
Bez względu na to, czym go podasz — krótkim czy długim — długość produktu wyjściowego zawsze będzie taka sama.
„Magiczna niszczarka” działa w czterech krokach:
Krok 1: Przygotuj papier (wypełnienie)
- Przed zniszczeniem musisz przygotować papier. Wyobraź sobie, że dodajesz puste miejsca na końcu wiadomości, aby idealnie pasowała do tacy niszczarki.
- To tak jak podczas pieczenia ciasteczek – trzeba upewnić się, że ciasto równomiernie wypełnia foremkę.
Krok 2: Pokrój na równe kawałki (dzielenie)
- Niszczarka nie lubi dużych kawałków. Dlatego tnie przygotowaną wiadomość na mniejsze kawałki o równej wielkości - jak krojenie dużego ciasta na idealne kawałki.
Krok 3: Tajny przepis (mieszanie i ugniatanie)
- Teraz nadchodzi fajna część! Wewnątrz niszczarki każdy element Twojej wiadomości przechodzi przez serię mikserów i rolek:
- Mieszanie: Miesza twoją wiadomość za pomocą kilku tajnych składników (wbudowanych zasad i liczb).
- Rozgniatanie: polega na specjalnym zgniataniu, obracaniu i obracaniu części.
- Skręcanie: Niektóre części są skręcone lub odwrócone, jak w przypadku składania papieru w origami.
Każdy kolejny krok sprawia, że komunikat staje się bardziej zagmatwany, ale w bardzo specyficzny sposób, za którym maszyna zawsze podąża.
Krok 4: Kod końcowy (hash)
- Po całym tym mieszaniu i miażdżeniu powstaje prosty, zaszyfrowany kod – coś w rodzaju unikalnego odcisku palca Twojej wiadomości.
- Nawet jeśli się zmienisz tylko jedna litera w oryginalnej wiadomości, a wynik będzie zupełnie inny. To właśnie czyni ją wyjątkową.
Powodem, dla którego algorytm SHA-1 nie powinien być już używany, jest to, że pewne bardzo mądre osoby wymyśliły sposób na oszukanie niszczarki, tak aby generowała ten sam kod dla dwóch różnych wiadomości (nazywa się to kolizją ).
Zamiast SHA-1 mamy teraz silniejsze, inteligentniejsze „shreddery”. W chwili pisania tego tekstu moim domyślnym algorytmem skrótu do większości celów jest SHA-256 — i tak, mam też kalkulator do tego: Kalkulator kodu skrótu SHA-256