Naar de inhoud

Hashgenerator (SHA-256)

Typ of plak tekst en bereken in één klik de SHA-256-, SHA-1-, SHA-384- en SHA-512-hashes, weergegeven als hexadecimaal in kleine of hoofdletters, met bij elke hash een kopieerknop. De hashing gebruikt de Web Crypto API van je browser op de UTF-8-bytes van de tekst, dus er wordt niets geüpload. Gratis, zonder account. Hij hasht alleen tekst, geen bestanden.

Zo gebruik je de hashgenerator

  1. 1. Voer je tekst in. Elke tekst, tot wat je browser in een tekstvak kan bevatten.
  2. 2. Druk op Hashes genereren. Alle vier de digests verschijnen samen, met SHA-256 gemarkeerd als de aanbevolen keuze.
  3. 3. Kies de hoofdletters. Hoofdletters hex zet elke digest om tussen kleine letters (de gebruikelijke conventie) en hoofdletters; de onderliggende bytes zijn hetzelfde.
  4. 4. Kopieer de digest die je nodig hebt met de knop ernaast.

De vier algoritmen

SHA-1, SHA-256, SHA-384 en SHA-512 zijn gedefinieerd in de Secure Hash Standard van de Amerikaanse overheid, FIPS 180-4. Elk algoritme zet invoer om in een digest van vaste lengte. Het enige zichtbare verschil in de uitvoer is de lengte:

AlgoritmeDigestlengteHex-tekensStatus
SHA-1160 bits40Gebroken voor beveiliging: de eerste praktische collisie werd in 2017 gepubliceerd, en NIST zegt dat het in 2030 moet worden uitgefaseerd. Alleen nog voor legacy-checksums.
SHA-256256 bits64De standaardkeuze voor integriteitscontroles en handtekeningen
SHA-384384 bits96SHA-2-familie; een ingekorte SHA-512
SHA-512512 bits128SHA-2-familie; vaak sneller dan SHA-256 op 64-bitprocessors

Een cryptografische hash is een vingerafdruk die maar één kant op werkt. Dezelfde invoer levert altijd dezelfde digest, een kleine wijziging levert een ongerelateerde digest, en de tekst kan niet uit de digest worden teruggehaald. MD5 wordt niet aangeboden, omdat de Web Crypto API het niet implementeert.

Uitgewerkt voorbeeld

Tekst

abc

SHA-256

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

SHA-1

a9993e364706816aba3e25717850c26c9cd0d89d

Die twee zijn de gepubliceerde testvectoren uit de voorbeelden van de standaard, dus je kunt de tool controleren aan een bron die je vertrouwt. Kijk nu wat één letter doet. Verander in The quick brown fox jumps over the lazy dog het woord "dog" in "cog":

…dog

d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

…cog

e4c4d8f3bf76b692de791a173e05321150f7a345b46484fe427f6acc7ecc81be

Deze SHA-256-digests hebben niets herkenbaars gemeen: 123 van de 256 bits verschillen, dicht bij de helft die je verwacht van ongerelateerde waarden. Dit is het lawineeffect, en daarom kan een hash laten zien dat een bestand of bericht is veranderd zonder te onthullen wat er precies veranderde.

Waarom je hash mogelijk niet overeenkomt

  • Afsluitend regeleinde. abc en abc gevolgd door een regeleinde zijn verschillende invoer: de SHA-256 van abc plus een regeleinde begint met edeaaff3, niet met ba7816bf. Het commando echo abc | sha256sum hasht het regeleinde ook mee; gebruik printf of echo -n om het weg te laten.
  • Hoofdletters en spaties. Abc hasht anders dan abc, en dat geldt ook voor een spatie aan het begin of het einde.
  • Codering. De tool hasht de UTF-8-bytes van wat je typt. Tekst die elders als UTF-16 of Latin-1 wordt gehasht, geeft voor elk niet-ASCII-teken een andere digest.
  • Regeleindes. Tekst die uit een Windows-bestand is geplakt, kan carriage returns bevatten die een tekstvak wegwerkt.

Waar deze tool niet voor bedoeld is

  • Bestanden. De tool hasht alleen tekst. Voor een bestand gebruik je shasum -a 256 bestand op macOS of Linux, of certutil -hashfile bestand SHA256 op Windows.
  • Wachtwoorden. SHA-256 is ontworpen om snel te zijn, en dat helpt een aanvaller bij het raden van wachtwoorden. Sla wachtwoorden op met een trage, gezouten wachtwoordhashfunctie zoals Argon2id, scrypt of bcrypt.
  • Gesleutelde hashes. Er is geen HMAC- of zoutoptie.

Welke tool heb je nodig?

Voor de hexadecimale weergave van de tekst zelf in plaats van een digest ervan, gebruik je de Hex-converter. Voor een willekeurige identifier de UUID-generator; voor een willekeurig geheim de Wachtwoordgenerator.

Veelgestelde vragen

Wordt mijn tekst naar een server geüpload?
Nee. Elke digest wordt in je browser berekend met de Web Crypto API (crypto.subtle.digest). Je tekst wordt nergens naartoe gestuurd, en de tool blijft werken als je na het laden van de pagina offline gaat.
Wat is een cryptografische hash?
Een functie die invoer van elke lengte omzet in een digest van vaste lengte. Ze is deterministisch, werkt maar één kant op en is gevoelig voor elk bit van de invoer. Hashes worden onder meer gebruikt om bestandsintegriteit te controleren, in digitale handtekeningen en in commit-identifiers.
Welk hashalgoritme moet ik gebruiken?
SHA-256 voor bijna alles. SHA-384 en SHA-512 geven langere digests uit dezelfde familie. Gebruik SHA-1 alleen als een oud systeem het vereist, en nooit voor beveiliging.
Is SHA-1 veilig om te gebruiken?
Niet voor beveiliging. De SHAttered-aanval uit 2017 leverde twee verschillende pdf-bestanden met dezelfde SHA-1-digest op, en NIST zegt dat het aan het eind van 2030 moet zijn uitgefaseerd. Het blijft acceptabel voor niet-beveiligingscontroles waarbij een aanvaller geen zorg is.
Waarom is er geen MD5-optie?
De Web Crypto API implementeert MD5 niet, en de tool gebruikt alleen wat de browser biedt. MD5 is al jaren ongeschikt voor beveiliging.
Kan ik met deze tool een bestand hashen?
Nee, de tool accepteert alleen tekst. Gebruik voor bestanden het commandoregelprogramma van je besturingssysteem, zoals hierboven beschreven.
Waarom verschilt mijn SHA-256 van die van een andere site?
Bijna altijd verschilt de invoer door een onzichtbaar teken, zoals een afsluitend regeleinde of een spatie, of door een andere tekstcodering. Controleer de exacte bytes met de Hex-converter.

Gerelateerde tools

Meer hulpmiddelen: Data, opmaaktalen en code