Hash-generator (SHA-256 / SHA-512)

Bereken SHA-1-, SHA-256-, SHA-384- en SHA-512-hashes van tekst of een bestand — lokaal met de WebCrypto-engine van de browser, er wordt niets geüpload.

1.204 weergaven

Hoe het werkt

Een cryptografische hashfunctie neemt een invoer van elke grootte — een woord, een alinea, een bestand van meerdere gigabytes — en produceert een uitvoer van vaste lengte, een digest genoemd: 160 bits voor SHA-1, 256 voor SHA-256, 384 voor SHA-384, 512 voor SHA-512. Deze tool berekent alle vier lokaal met de ingebouwde WebCrypto-engine van de browser, dezelfde geauditeerde implementatie waarop uw HTTPS-verbindingen al vertrouwen, zodat zelfs grote bestanden snel worden gehasht en nooit uw apparaat verlaten.

Drie eigenschappen maken deze functies nuttig. Ten eerste zijn ze eenrichtingsverkeer: gegeven een digest is er geen praktische manier om de oorspronkelijke invoer terug te vinden — de enige optie is een gok opnieuw te hashen en te vergelijken. Ten tweede zijn ze deterministisch: dezelfde invoer levert altijd exact dezelfde digest op, wat een controlesom pas zinvol maakt. Ten derde vertonen ze het lawine-effect: het wijzigen van één enkel bit van de invoer, bijvoorbeeld één teken in een bestand van meerdere gigabytes, verandert ruwweg de helft van de bits van de uitvoer. Een digest die zelfs in één hex-teken verschilt, betekent dat de invoerbestanden niet identiek zijn, punt uit.

Typisch voorbeeld: een softwareleverancier publiceert sha256sum: 9f86d0... naast een download. Hash het bestand hier na het downloaden en vergelijk beide tekenreeksen teken voor teken — komen ze overeen, dan is het bestand intact aangekomen; komen ze niet overeen, dan is het onderweg beschadigd of gemanipuleerd. Dezelfde techniek werkt om te controleren of twee bestanden byte-voor-byte identiek zijn, of om een stabiele cache-busting-sleutel te genereren uit de inhoud van een bestand.

Wat u moet weten

MD5 wordt bewust niet aangeboden. Het is cryptografisch gebroken: onderzoekers hebben praktische botsingsaanvallen aangetoond, wat betekent dat twee verschillende invoerbestanden kunnen worden geconstrueerd die dezelfde MD5-digest opleveren, waardoor het doel voor integriteits- of beveiligingscontroles teniet wordt gedaan. De WebCrypto API van browsers sluit het om die reden volledig uit. Als een leverancier alleen een MD5-controlesom publiceert, behandel dit dan als laatste redmiddel en vraag om SHA-256 — vrijwel elke moderne distributie biedt er een.

SHA-1 is prima om onbedoelde beschadiging (een mislukte download, een schijffout) te detecteren, maar is afgeschaft voor beveiligingsdoeleinden zoals certificaten en digitale handtekeningen, omdat er ook botsingsaanvallen tegen zijn aangetoond; geef de voorkeur aan SHA-256 of hoger wanneer het resultaat bestand moet zijn tegen een doelbewuste aanvaller.

Tot slot is hashen alleen niet de juiste manier om wachtwoorden op te slaan: een kale SHA-256 van een wachtwoord is snel te berekenen, wat betekent dat een aanvaller met een gestolen database miljarden pogingen per seconde kan proberen. Correcte wachtwoordopslag voegt per account een unieke, willekeurige salt toe en gebruikt een trage, speciaal daarvoor ontworpen functie (bcrypt, scrypt of Argon2) — deze tool is bedoeld voor controlesommen en integriteitscontrole, niet voor authenticatie.

Veelgestelde vragen

Waarom wordt MD5 niet aangeboden?

De WebCrypto van browsers sluit MD5 bewust uit omdat het cryptografisch gebroken is. Als een leverancier alleen een MD5-controlesom publiceert, vraag dan om SHA-256 — elke moderne distributie biedt dit.

Is SHA-1 veilig om te gebruiken?

Voor integriteitscontroles tegen onbedoelde beschadiging, ja. Voor beveiligingsdoeleinden (handtekeningen, certificaten) is SHA-1 verouderd — geef de voorkeur aan SHA-256 of hoger, daarom staan deze bovenaan vermeld.

Worden mijn bestanden geüpload om te hashen?

Nee. Het bestand wordt in uw browser gelezen en gehasht met WebCrypto; er wordt niets ergens naartoe verzonden.

Kan een hash worden teruggedraaid naar de oorspronkelijke invoer?

Nee — dat is precies het hele punt van een eenrichtingsfunctie. Er is geen wiskundige kortere weg van digest naar invoer; de enige manier om er een te "terugdraaien" is invoer te raden en te hashen totdat er een overeenkomst wordt gevonden, wat alleen praktisch is bij korte of voorspelbare invoer. Precies die gok-aanpak is hoe gelekte, ongezouten wachtwoordhash-dumps worden gekraakt.

Is het oké om met deze tool wachtwoorden te hashen en het resultaat op te slaan?

Niet voor een echt authenticatiesysteem. Een rauwe SHA-2-hash van een wachtwoord is deterministisch en snel, dus een gestolen database met hashes kan snel met brute kracht worden gekraakt. Wachtwoordopslag vereist een salt (unieke willekeurige gegevens per account) en een opzettelijk traag algoritme zoals bcrypt of Argon2 — deze tool is bedoeld voor integriteitscontroles van bestanden en tekst, niet voor het opslaan van inloggegevens.

Reacties

Nog geen reacties — schrijf de eerste!

Vergelijkbare tools