Generator hashu i suma kontrolna
Uzyskaj MD5, SHA-1, SHA-256, SHA-384 i SHA-512 jednocześnie dla tekstu i plików. Sprawdź, czy pobrany plik pasuje do oficjalnej sumy kontrolnej, aby upewnić się, że nie został zmodyfikowany. Wszystko lokalnie, nic nie opuszcza Twojej przeglądarki.
- Algorytmy
- MD5 · SHA-1/256/384/512
- Silnik
- Web Crypto API
- Prywatność
- 100% lokalne
- Wejście
- Tekst / plik
Upuść plik tutaj lub kliknij, aby przeglądać
Bajty pliku są odczytywane lokalnie w celu obliczenia sum kontrolnych – nic nie jest wysyłane. Działa z instalatorami, obrazami dysków i archiwami.
CECHY
Wszystkie pięć hashy na jednej stronie
Od szybkich identyfikatorów po bezpieczne sygnatury – każdy hash potrzebny developerom, specjalistom od operacji i do weryfikacji pobrań.
Pięć algorytmów
MD5, SHA-1, SHA-256, SHA-384 i SHA-512 pokazane razem z długościami bitów wyników – więcej przełączania się między narzędziami.
Obliczanie w czasie rzeczywistym
Hashe tekstu podczas pisania, bez przycisku do naciśnięcia. Wyniki w czcionce stałej szerokości – kliknij wiersz, aby skopiować.
Sprawdzanie integralności plików
Upuść instalator, obraz dysku lub archiwum i porównaj go z oficjalną sumą kontrolną, aby potwierdzić, że pobranie nie zostało zmodyfikowane.
Lokalnie, zero wysyłania danych
Rodzina SHA korzysta z wbudowanego Web Crypto API przeglądarki. Tekst i pliki nigdy nie opuszczają Twojej maszyny – zawartość wrażliwa jest bezpieczna.
Spójność UTF-8
Tekst jest hashowany jako bajty UTF-8, więc wyniki dokładnie pasują do md5sum, funkcji md5() w PHP oraz hashlib w Pythonie.
Kopiowanie jednym kliknięciem
Kopiuj każdy osobny hash lub wszystkie w standardowym formacie sum kontrolnych, gotowe do wklejenia do terminala.
Co powinieneś wiedzieć o haszach
Idea jest prosta, ale użycie niewłaściwego haszu do niewłaściwego zadania to prawdziwy błąd bezpieczeństwa.
Czym dokładnie są MD5 i SHA-1?
MD5 (Message-Digest Algorithm 5) został zaprojektowany przez Ronalda Rivesta w MIT i opublikowany w 1992 roku jako RFC 1321, generujący 128-bitowy (32 znaki szesnastkowe) podsumowanie jako następcę MD4. SHA-1 został zaprojektowany przez Agencję Bezpieczeństwa Narodowego USA i opublikowany w 1995 roku jako standard federalny FIPS 180-1, generujący 160 bitów. Oba stały się najszerzej wdrożonymi algorytmami haszującymi w kolejnych dwóch dekadach – używane do sum kontrolnych plików, przechowywania haseł, podpisów cyfrowych oraz ID commitów w Git. Należy pamiętać, że nadal generują poprawne podsumowania; „niebezpieczny” oznacza, że ich odporność na kolizje została złamana, a nie że ich wynik jest niepoprawny.
Czy haszowanie, szyfrowanie i kodowanie to to samo?
Nie – rozwiązują różne problemy. Kodowanie (np. Base64 lub kodowanie URL) to odwracalna transformacja formatu, którą każdy może cofnąć, nie zapewniając żadnego bezpieczeństwa. Szyfrowanie jest odwracalne za pomocą klucza: tekst jawny staje się tekstem zaszyfrowanym, a odpowiedni klucz pozwala go odszyfrować. Haszowanie jest jednokierunkowe, nie ma klucza, a oryginału nie można odzyskać z podsumowania – służy do tworzenia odcisków palców, sprawdzania integralności oraz podpisów. Dwa popularne nieporozumienia: traktowanie Base64 jako „szyfrowania” oraz twierdzenie, że hasło zostało „zaszyfrowane MD5” – to właśnie jest haszowanie, a dodatkowo niebezpieczny sposób przechowywania haseł.
Dlaczego haszu nie można odwrócić do oryginału?
Hash to funkcja jednokierunkowa: dane wejściowe dowolnej długości są kompresowane do podsumowania o stałej długości, usuwając większość informacji. Tak jak nie można odtworzyć zdania na podstawie liczby słów, tak oryginału nie można wyprowadzić z podsumowania. Bezpieczne algorytmy są specjalnie zaprojektowane, aby takie odwrócenie było niemożliwe do wykonania z punktu widzenia obliczeniowego.
Czy MD5 i SHA-1 są nadal użyteczne?
Do sprawdzania, czy plik został przypadkowo uszkodzony podczas transmisji – tak, każda zmiana pojedynczego bajtu praktycznie zawsze zmienia wynik MD5. Jednak nigdy do celów bezpieczeństwa: dla obu algorytmów istnieją praktyczne ataki na kolizje (badacze mogą stworzyć dwa różne pliki o takim samym MD5 pod ich kontrolą). Do haseł, podpisów i certyfikatów używaj SHA-256 lub nowszego.
Dlaczego mój hash różni się od wyniku innego narzędzia dla tego samego tekstu?
Trzy najczęstsze przyczyny: ① inna kodowanie znaków (to narzędzie zawsze używa UTF-8; starsze narzędzia mogą używać GBK lub Latin-1); ② nowy linijka na końcu – polecenie echo domyślnie ją dodaje (użyj echo -n); ② przypadkowa spacja lub niewidoczny znak podczas kopiowania. Hasze są wrażliwe na każdy pojedynczy bajt, więc nawet jedna błędna wartość bajtu całkowicie zmienia wynik.
Dlaczego haseł nie można przechowywać jako zwykłego MD5/SHA-256?
Zwykłe hasze są szybkie. Przy wycieku tabeli hashy atakujący mogą próbować miliardów domniemanych haseł na sekundę, a tabele rainbow natychmiast odwzorowują najczęstsze hasła. Hasła wymagają celowo wolnych, obciążających pamięć algorytmów (bcrypt, scrypt, Argon2) z unikalną solą dla każdego hasła, co sprawia, że siłowe odgadywanie jest zbyt kosztowne.
Jak sprawdzić integralność pobranego pliku?
Znajdź sumę kontrolną opublikowaną na oficjalnej stronie (zwykle SHA-256), przeciągnij pobrany plik do karty „Suma kontrolna pliku” tutaj i wklej wartość oficjalną w polu nad wynikami. Narzędzie wykrywa algorytm na podstawie długości wartości i podświetli odpowiedni wiersz na zielono, jeśli bajty pliku dokładnie odpowiadają tym opublikowanym przez wydawcę; czerwony kolor oznacza uszkodzenie lub podmianę przez osobę trzecnią – nie uruchamiaj tego pliku.
Który z pięciu algorytmów użyć
Wybierz w zależności od scenariusza. Nowsze algorytmy generują dłuższe skróty, lepiej chronią przed atakami i wymagają nieco większego nakładu obliczeniowego.
| Algorytm | Wprowadzony | Długość wyniku | Bezpieczeństwo | Typowe zastosowanie |
|---|---|---|---|---|
| MD5 | 1992 | 128 bitów (32 znaki) | Złamany; kolizje praktyczne | Niesłużące bezpieczeństwu identyfikatory, deduplikacja, zgodność ze starszymi systemami |
| SHA-1 | 1995 | 160 bitów (40 znaków) | Kolizje praktyczne od 2017 roku | Identyfikatory historii Git i inne starsze systemy; nie nadaje się do nowych zastosowań wymagających bezpieczeństwa |
| SHA-256 | 2001 | 256 bitów (64 znaki) | Bezpieczny obecnie | Sumy kontrolne plików, podpisy, certyfikaty TLS, łańcuchy bloków – uniwersalny standard domyślny |
| SHA-384 | 2001 | 384 bitów (96 znaków) | Bezpieczny | Skrócony SHA-512 dla systemów wymagających zgodności z regulacjami wymagającymi 384 bitów |
| SHA-512 | 2001 | 512 bitów (128 znaków) | Bezpieczny | Podpisy o wysokiej wiarygodności; często szybszy od SHA-256 na procesorach 64-bitowych |
„Bezpieczny” oznacza brak praktycznych ataków na kolizję w danej chwili. Do przechowywania haseł używaj bcrypt/Argon2, niezależnie od wybranego hasza.
Sumy kontrolne: jak faktycznie zweryfikować pobrany plik
Do czego służy ciąg MD5 lub SHA-256 na stronie pobierania, jak go porównać i z czym porównać – wszystko w tej sekcji.
Dlaczego w ogóle weryfikować
Plik na twoim dysku nie musi być identyczny z plikiem na serwerze. Dziesięć sekund sprawdzenia sumy kontrolnej chroni przed trzema rodzajami problemów:
Duże pliki pobierane z funkcją wznawiania i przez niestabilne sieci często otrzymują przypadkowe bajty; rozwiązywanie problemów z uszkodzonym instalatorem trwa znacznie dłużej niż dziesięć sekund.
Wiele pobrań pochodzi w rzeczywistości z serwerów lustrzanych lub sieci CDN, gdzie opóźnienie synchronizacji lub błędy pamięci podręcznej mogą dać Ci nieaktualną wersję – lub połowę pliku.
Gdy źródło pobrania zostanie zhakowane lub publiczna sieć zostanie przejęta, pliki mogą otrzymać backdoory. W 2016 roku strona Linux Mint została zhakowana, a jej linki do pobrania zamieniono na zhakowany ISO – pierwszą reakcją projektu było wezwanie wszystkich do sprawdzenia sumy kontrolnej.
Co to jest suma kontrolna
Wydawca hashuje plik na swoim serwerze i publikuje wynik na stronie pobierania; po pobraniu ty haszujesz go ponownie lokalnie. Jeśli oba ciągi są identyczne, bajty pliku są dokładnie takie same, jak te, które opublikował wydawca – nie są uszkodzone ani podmienione. Sprawdzenie jest wrażliwe na każdy bajt: zmiana nawet jednego bajtu całkowicie zmienia wartość. Ogólnie rzecz biorąc, sumy kontrolne obejmują również prostsze schematy, np. CRC32, które wykrywają tylko przypadkowe uszkodzenia, natomiast hasze kryptograficzne, jak MD5/SHA, dodatkowo chronią przed celowym fałszerstwem.
Weryfikacja pliku w trzech krokach
-
1
Pobierz oficjalną sumę kontrolną
Na stronie pobierania znajdź opublikowaną wartość MD5 lub SHA-256 (często oznaczoną jako „checksum” lub dołączoną jako plik towarzyszący .sha256) i skopiuj cały ciąg znaków.
-
2
Przeciągnij plik i wklej wartość
Przełącz się na kartę „File checksum” powyżej, przeciągnij pobrany plik i wklej sumę kontrolną do pola nad wynikami.
-
3
Odczytaj wynik według koloru
Narzędzie wykrywa algorytm na podstawie długości wartości: zielony kolor oznacza, że plik dokładnie pasuje do oficjalnej wersji i jest bezpieczny do użycia; czerwony kolor oznacza, że plik może być uszkodzony lub podrobiony – nie uruchamiaj go.
Odczytywanie sum kontrolnych na oficjalnych stronach
Strony pobierania zapisują sumy kontrolne w wielu formatach, ale wszystkie sprowadzają się do dwóch elementów: wartości hasza oraz nazwy pliku. Najczęściej występują te trzy formaty – podczas wklejania wystarczy wziąć samą część z haszem (narzędzie automatycznie ignoruje spacje i znaki nowej linii):
# 1. Linia pojedyncza: tylko wartość
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a
# 2. Format sha256sum: wartość + dwie spacje + nazwa pliku (manifest SHA256SUMS to wiele takich linii)
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a ubuntu-24.04.iso
# 3. Format BSD: Algorytm (nazwa pliku) = wartość
SHA256 (ubuntu-24.04.iso) = a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a
MD5 lub SHA-256
Weryfikuj to, co oferuje oficjalna strona, ale jeśli masz wybór: MD5 jest w zupełności wystarczające do ochrony przed przypadkowymi uszkodzeniami podczas transmisji (jakakolwiek nieplanowana zmiana praktycznie zawsze zmienia wartość MD5). Przed celowym podrobieniem – w oprogramowaniu bezpieczeństwa, certyfikatach, podpisanych pakietach – potrzebujesz SHA-256 lub silniejszego algorytmu, ponieważ praktyczne ataki kolizyjne pozwalają atakującym stworzyć dwa różne pliki z takim samym haszem MD5. Szczegóły znajdziesz w sekcji „security history” poniżej.
Weryfikacja z poziomu wiersza poleceń
W systemach Linux i macOS narzędzia do sum kontrolnych akceptują opcję -c do automatycznej weryfikacji całego manifestu – nie potrzebujesz ręcznego porównania. Natomiast wbudowane polecenia systemu Windows obliczają tylko wartość hasza, którą musisz samodzielnie porównać z oficjalną wartością.
| Środowisko | Polecenie weryfikacyjne |
|---|---|
| Linux | sha256sum -c SHA256SUMS (weryfikuje każdy plik wymieniony w manifeście) |
| macOS | shasum -a 256 -c checksum.txt |
| Szybkie sprawdzenie pojedynczej wartości | echo „oficjalna-wartość nazwa-pliku” | sha256sum -c - (w przypadku powodzenia wyświetli OK) |
| Windows | Oblicz przy użyciu polecenia Get-FileHash <plik> -Algorithm SHA256, a następnie porównaj z oficjalną wartością |
Krótka historia bezpieczeństwa: jak złamano MD5
MD5 nie zawiódł z dnia na dzień – od pierwszego załamania w środowisku akademickim po podrobione certyfikaty w praktyce zajęło to dwa dekady.
-
1992
Opublikowano MD5
Ronald Rivest wprowadził MD5 w ramach RFC 1321. Szybki, prosty w implementacji i zawsze generujący 128-bitowe skróty, szybko stał się de facto standardem sum kontrolnych plików oraz przechowywania haseł — i był uważany za kryptograficznie bezpieczny.
-
2004
Zespół Wang Xiaoyun ujawnia kolizje dla MD5
Na konferencji CRYPTO w 2004 roku zespół pod kierunkiem chińskiego matematyka Wang Xiaoyun zaprezentował atak wykorzystujący pełną kolizję na MD5 — zbudowanie dwóch plików o różnej zawartości, ale tym samym skrócie (początkowo trwało to około godziny na superkomputerze IBM P690; późniejsze usprawnienia skróciły ten czas do kilku sekund na zwykłym sprzęcie). Gwarantowana odporność MD5 na kolizje przestała istnieć; owacja stojąca, która nastąpiła, stała się jednym z najsłynniejszych momentów w kryptografii.
-
2008
Fałszywe certyfikaty w prawdziwym internecie
Marc Stevens, Alexander Sotirov i inni wykorzystali kolizję o wybranym prefiksie, aby sfałszować certyfikat pośredniej CA zaufany przez przeglądarki: certyfikaty o różnych prefiksach miały ten sam podpis. Atakujący mógł teraz wystawić „ważne” certyfikaty HTTPS dla dowolnej fałszywej strony. Władze certyfikacyjne wkrótce po tym zaprzestały wystawiania certyfikatów MD5.
-
2012
Złośliwe oprogramowanie Flame atakuje Windows przez MD5
Finansowane przez państwo złośliwe oprogramowanie Flame wykorzystało kolizję MD5, aby skłonić organ licencyjny terminali Microsoft do podpisania fałszywego certyfikatu podpisywania kodu, umożliwiając mu rozprzestrzenianie się na Bliskim Wschodzie pod przykrywką aktualizacji podpisanej przez Microsoft. Był to pierwszy atak w prawdziwym świecie wykorzystujący kolizję MD5; Microsoft cofnął certyfikat w ramach awaryjnej łatki.
-
2017
SHAttered: SHA-1 upada
Google oraz holenderski instytut CWI (Marc Stevens i inni) opublikowali dwa różne pliki PDF z identycznym skrótem SHA-1 — za kosztem około 6500 lat pracy procesora i 110 lat pracy procesora graficznego. Wkrótce po tym przeglądarki cofnęły zaufanie do certyfikatów SHA-1, a platformy Git przyspieszyły migrację od niego. Epoka 160-bitowa się skończyła.
Ważna szczególik: atak kolizyjny nie „łamie” skrótu żadnego istniejącego pliku — konstruuje dwa konkretne pliki, których skróty mają tę samą wartość. Jednak dla podpisów i certyfikatów to już wystarcza do śmiertelnej fałszerstwa.
Tworzenie skrótów z linii poleceń
Gdy przeglądarka nie jest pod ręką, każdy system operacyjny ma wbudowane polecenie (pokazano SHA-256).
| Środowisko | Polecenie |
|---|---|
| Linux / macOS | sha256sum nazwa_pliku (na macOS: shasum -a 256 nazwa_pliku) |
| Windows PowerShell | Get-FileHash nazwa_pliku -Algorithm SHA256 |
| Windows CMD | certutil -hashfile nazwa_pliku SHA256 |
Tworzenie skrótów w kodzie
Minimalne przykłady w czterech popularnych językach, gdy piszesz skrypty lub integrujesz API.
async function sha256Hex(data) {
const bytes = typeof data === "string"
? new TextEncoder().encode(data)
: new Uint8Array(data);
const digest = await crypto.subtle.digest("SHA-256", bytes);
return [...new Uint8Array(digest)]
.map((b) => b.toString(16).padStart(2, "0"))
.join("");
}
// Text
console.log(await sha256Hex("hello"));
// Files: digest accepts an ArrayBuffer directly
const buf = await file.arrayBuffer();
console.log(await sha256Hex(buf));
Natywny Web Crypto przeglądarki obsługuje tylko rodzinę SHA i wymaga HTTPS lub localhost; MD5 potrzebuje biblioteki zewnętrznej.
echo hash('sha256', 'hello'); // 64 hex characters
echo md5('hello'); // same as hash('md5', 'hello')
// Streamed: hashes the file without loading it into memory
echo hash_file('sha256', 'setup.exe');
hash() i hash_file() obsługują md5, sha1, sha256, sha512 i inne; tworzenie skrótów plików odbywa się strumieniowo, więc zużywa mało pamięci.
import hashlib
print(hashlib.sha256(b"hello").hexdigest())
print(hashlib.md5(b"hello").hexdigest())
# Large files: streamed, low memory (Python 3.11+)
with open("setup.exe", "rb") as f:
print(hashlib.file_digest(f, "sha256").hexdigest())
Biblioteka standardowa hashlib nie wymaga instalacji; użyj file_digest() do strumieniowego tworzenia skrótów dużych plików (Python 3.11+).
use sha2::{Digest, Sha256};
use md5::Md5;
// Text
println!("{:x}", Sha256::digest(b"hello"));
println!("{:x}", Md5::digest(b"hello"));
// Large files: streamed, low memory
let mut file = std::fs::File::open("setup.exe")?;
let mut hasher = Sha256::new();
std::io::copy(&mut file, &mut hasher)?;
println!("{:x}", hasher.finalize());
Tworzenie skrótów nie jest w bibliotece standardowej; dodaj crates RustCrypto sha2 oraz md-5 w Cargo.toml. Po włączeniu funkcji std, io::copy strumieniowo przesyła pliki do hashera.
FAQ
Czy mój tekst i pliki zostały wysłane?
Nie. Wszystko obliczane jest w Twojej przeglądarce: funkcje rodziny SHA używają wbudowanego API Web Crypto, a MD5 działa w skrypcie JavaScript strony. Narzędzie działa również bez dostępu do sieci – wypróbuj je na wrażliwym pliku.
Dlaczego pusty tekst nadal ma swój hash?
Algorytmy hashowania definiują unikalny, stały wynik nawet dla zerowej liczby bajtów. MD5 pustego łańcucha to d41d8cd98f00b204e9800998ecf8427e, a jego SHA-256 zaczyna się od e3b0c442. To narzędzie po prostu ukrywa wyniki, gdy dane wejściowe są puste, abyś nie skopiował ich przez pomyłkę.
Czy może tworzyć hashe plików dowolnej wielkości?
Zależy od dostępnej pamięci przeglądarki – instalatory i obrazy dyskowe o wielkości kilkuset MB zazwyczaj działają poprawnie. Pliki są wczytywane do pamięci w jednym przejściu, więc dla plików o wielkości wielu GB lepiej użyć narzędzi linii poleceń (sha256sum, certutil).
Dlaczego hashe mają różne długości?
Długość jest determinowana przez algorytm: MD5 to 32 znaki szesnastkowe, SHA-1 to 40, SHA-256 to 64, a SHA-512 to 128. Dwa znaki szesnastkowe na bajt – a długość nie zależy od wielkości danych wejściowych: plik o jednym bajcie i plik o wielkości wielu GB dają oba 64 znaki dla SHA-256.
Czy mogę go użyć do tworzenia sygnatur API?
Tak. Wiele otwartych platform podpisuje żądania, tworząc hash z "parametr + tajny klucz" za pomocą MD5 lub SHA-256. To narzędzie jest idealne do sprawdzania wartości sygnatur podczas debugowania; w środowisku produkcyjnym obliczaj hashe w bibliotece języka po stronie serwera i nigdy nie umieszczaj tajnego klucza w kodzie frontendowym.
Jak porównać sumę kontrolną za pomocą tego narzędzia?
Przełącz się na kartę "Suma kontrolna pliku", przeciągnij plik do obszaru i wklej sumę kontrolną z oficjalnej strony w polu nad wynikami. Narzędzie automatycznie wykrywa algorytm po długości (32 znaki MD5, 40 SHA-1, 64 SHA-256, 96 SHA-384, 128 SHA-512): pasujący wiersz zmienia kolor na zielony z notatką "Zgodne", a na czerwony, gdy wartości się nie zgadzają. Wielkość liter, otaczające spacje i znaki nowej linii są automatycznie ignorowane.
Powiązane narzędzia
Inne narzędzia do kodowania, kryptografii i zarządzania hasłami.
Koduj / Dekoduj Base64
Konwertuje między danymi binarnymi a tekstem – przydatne w Data URI i podczas debugowania autoryzacji podstawowej HTTP.
Generator haseł
Tworzy silne, losowe hasła – hasła powinny być losowe i unikalne, a nie "szyfrowane" hashem.
Sprawdzanie siły hasła
Sprawdza, czy hasło jest wystarczająco długie i losowe, oraz czy pojawiło się w znanych wyciekach danych.