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. Voer je tekst in. Elke tekst, tot wat je browser in een tekstvak kan bevatten.
- 2. Druk op Hashes genereren. Alle vier de digests verschijnen samen, met SHA-256 gemarkeerd als de aanbevolen keuze.
- 3. Kies de hoofdletters. Hoofdletters hex zet elke digest om tussen kleine letters (de gebruikelijke conventie) en hoofdletters; de onderliggende bytes zijn hetzelfde.
- 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:
| Algoritme | Digestlengte | Hex-tekens | Status |
|---|---|---|---|
| SHA-1 | 160 bits | 40 | Gebroken 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-256 | 256 bits | 64 | De standaardkeuze voor integriteitscontroles en handtekeningen |
| SHA-384 | 384 bits | 96 | SHA-2-familie; een ingekorte SHA-512 |
| SHA-512 | 512 bits | 128 | SHA-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.
abcenabcgevolgd door een regeleinde zijn verschillende invoer: de SHA-256 vanabcplus een regeleinde begint metedeaaff3, niet metba7816bf. Het commandoecho abc | sha256sumhasht het regeleinde ook mee; gebruikprintfofecho -nom het weg te laten. - Hoofdletters en spaties.
Abchasht anders danabc, 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 bestandop macOS of Linux, ofcertutil -hashfile bestand SHA256op 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.