🌐 NL

🔐 Hashgenerator

Zet tekst om naar verschillende hash-algoritmen. Handig voor bestandsintegriteitscontrole, het hashen van wachtwoorden en gegevensvalidatie.

Selecteer een bestand om een hash van de bestandsinhoud te genereren
GIDS

Meer lezen

01

1. Wat zijn hashfuncties

Hashfuncties zijn eenrichtingsfuncties die gegevens van willekeurige grootte omzetten in waarden met een vaste lengte. Ze hebben het avalanche-effect, waarbij zelfs een kleine wijziging in de invoer een compleet andere hash oplevert, en dezelfde invoer altijd dezelfde uitvoer geeft. MD5 genereert een 128-bit hash, SHA-1 een 160-bit hash en SHA-256 een 256-bit hash. Omdat hashes eenrichtingsfuncties zijn die niet kunnen worden ontsleuteld, zijn ze ideaal voor het controleren van integriteit terwijl de oorspronkelijke gegevens verborgen blijven. Veel gebruikt voor verificatie van bestandsdownloads, wachtwoordopslag, blockchain, digitale handtekeningen en meer.

02

2. Vergelijking van MD5 en SHA-algoritmen

MD5 is een 128-bit hash ontwikkeld in 1991, zeer snel maar kwetsbaar voor collision-aanvallen. Door ernstige beveiligingslekken die in 2004 zijn ontdekt, is het ongeschikt voor cryptografische doeleinden en alleen nog bruikbaar voor bestandschecksums. SHA-1 is een 160-bit hash en veiliger dan MD5, maar na Google's aankondiging in 2017 van daadwerkelijke collision-gevallen werd het uitgefaseerd. SHA-256 hoort bij de SHA-2-familie, genereert 256-bit hashes en is momenteel de meest gebruikte standaard. Bitcoin gebruikt ook SHA-256. SHA-512 biedt hogere beveiliging met 512 bits, maar is trager. Nieuwe systemen moeten SHA-256 of hoger gebruiken.

03

3. Hashbeveiliging en kwetsbaarheden

Hashfuncties hebben drie belangrijke beveiligingseisen. Ten eerste preimagebestendigheid: het moet moeilijk zijn om het origineel uit de hashwaarde af te leiden. Ten tweede tweede-preimagebestendigheid: het moet moeilijk zijn om een andere invoer te vinden die dezelfde hash oplevert. Ten derde collisionbestendigheid: het moet moeilijk zijn om twee verschillende invoeren te vinden die dezelfde hash opleveren. MD5 en SHA-1 hebben een gebroken collisionbestendigheid, waardoor aanvallers bewust dezelfde hash kunnen maken. Rainbow table-aanvallen gebruiken vooraf berekende hash-tabellen om terug te zoeken, maar dit kan worden tegengegaan met een salt.

04

4. Controle van bestandsintegriteit

Bestandshashes zijn de effectiefste manier om te controleren of gedownloade bestanden niet zijn aangepast. Websites voor softwaredistributie leveren officiële hashwaarden mee met de bestanden. Gebruikers berekenen na het downloaden de hash van het bestand en vergelijken die met de officiële waarde. Zelfs één bit verschil levert een compleet andere hash op, waardoor manipulatie direct wordt gedetecteerd. Essentieel voor Linux-ISO's, open-source software, blockchain-transacties enzovoort. Git genereert ook SHA-1-hashes voor elke commit om de code-integriteit te waarborgen. Hashes kunnen schade door netwerkfouten tijdens grote bestandsoverdrachten detecteren.

05

5. Beste praktijken voor het hashen van wachtwoorden

Bewaar wachtwoorden nooit in platte tekst in databases. Ze moeten naar hashes worden omgezet, maar eenvoudige MD5 of SHA-256 is daarvoor onvoldoende. Deze zijn kwetsbaar voor rainbow table-aanvallen. Je moet een salt toevoegen. Een salt is een willekeurige tekenreeks die aan het wachtwoord wordt toegevoegd, zodat hetzelfde wachtwoord verschillende hashes oplevert. Gebruik bovendien langzame hashfuncties zoals bcrypt, scrypt of Argon2. Deze vertragen de berekening expres om brute-force-aanvallen moeilijker te maken. OWASP beveelt Argon2 aan als hoogste prioriteit voor het hashen van wachtwoorden.

06

6. Rainbow tables en salt

Rainbow tables zijn enorme databases met vooraf berekende hashwaarden. Ze slaan hashes van miljoenen veelvoorkomende wachtwoorden van tevoren op en vergelijken die met gestolen hashes om het oorspronkelijke wachtwoord te vinden. De MD5 van "password123" is bijvoorbeeld altijd "482c811da5d5b4bc6d497ffa98491e38", dus die kan direct in de tabel worden gevonden. Een salt beschermt hiertegen. Door voor elke gebruiker een unieke willekeurige tekenreeks toe te voegen, levert hetzelfde wachtwoord verschillende hashes op. Het hashen van "password123" + "x8k2m9" geeft een waarde die niet in rainbow tables voorkomt. De salt kan als platte tekst in de database worden opgeslagen, en voor effectiviteit moet elk wachtwoord een andere salt gebruiken.

Veelgestelde vragen

Worden mijn tekst of bestand naar een server gestuurd?
Nee. Alles wordt client-side in je browser gehasht met JavaScript, er wordt niets geüpload. Je tekst en bestanden blijven op je apparaat.
Kan ik deze tool gebruiken om wachtwoorden op te slaan als hash?
Dat raden we niet aan. MD5 en SHA-256 zijn snelle hashes die kwetsbaar zijn voor brute-force-aanvallen, dus wachtwoorden moeten in plaats daarvan een trage, speciale functie gebruiken zoals bcrypt, scrypt of Argon2. Deze tool is vooral geschikt voor controles van bestandsintegriteit en gegevenschecksums.
Welk algoritme moet ik kiezen?
Gebruik SHA-256 of hoger voor alles wat nieuw is. MD5 en SHA-1 hebben een gebroken collisionbestendigheid en zijn ongeschikt voor beveiligingsdoeleinden - gebruik ze alleen voor compatibiliteit met oudere systemen.
Wanneer moet ik de HMAC-optie gebruiken?
HMAC (gekeyte hashing) verifieert dat een bericht afkomstig is van een afzender die een specifieke geheime sleutel bezit. Gebruik dit wanneer je naast integriteit ook authenticatie nodig hebt, zoals bij het ondertekenen van API-verzoeken of het verifiëren van webhooks.
Waarom levert dezelfde invoer soms een andere hash op?
Voor hetzelfde algoritme en dezelfde invoer is de hash altijd identiek, tenzij je een HMAC-sleutel of de hoofdletteroptie hebt gebruikt. Als je resultaat afwijkt, controleer dan op subtiele verschillen in de invoer, zoals extra spaties of regeleinden.