Twee teksten vergelijken met een hash

Voer tekst in om te hashen.

Twee lange teksten zijn alleen identiek als hun checksums identiek zijn. Bereken de hash van elke tekst met hetzelfde algoritme en vergelijk daarna de twee korte waarden. Eén ander teken, een spatie of een regeleinde geeft een totaal ander resultaat.

Zo controleert u of twee teksten overeenkomen

  1. 1

    Bereken de hash van de eerste tekst

    Plak de eerste tekst, laat SHA-256 geselecteerd en klik op genereren. Kopieer of noteer de checksum.

  2. 2

    Herhaal dit met de tweede tekst

    Vervang de tekst door de tweede versie en gebruik hetzelfde algoritme.

  3. 3

    Vergelijk de checksums

    Als de 64 tekens identiek zijn, hebben de teksten dezelfde bytes. Als ook maar één teken verschilt, verschillen de teksten.

  4. 4

    Beperk het verschil indien nodig

    Bereken bij verschillen de hash van kleinere delen van elke tekst om de alinea te vinden die is gewijzigd.

Waarom een hash een betrouwbare vergelijking is

Een goede hashfunctie stuurt elke verschillende invoer naar een eigen, onvoorspelbare checksum. Voor SHA-256 is geen methode bekend om twee verschillende teksten met dezelfde checksum te vinden. Gelijke checksums betekenen daarom, voor elk praktisch doel, gelijke inhoud. Checksums zijn bovendien kort: u vergelijkt 64 tekens in plaats van hele pagina’s.

Een voorbeeld

Tekst SHA-256
hello 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
Hello 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

De twee teksten verschillen door één hoofdletter, en de checksums hebben geen zichtbare overeenkomst. Zo vallen zelfs de kleinste wijzigingen meteen op.

Wat als verschil telt

De vergelijking gebeurt byte voor byte. Al deze wijzigingen veranderen de checksum:

  • een extra spatie aan het eind van een regel;
  • een regeleinde aan het eind van de tekst;
  • een ander soort apostrof of streepje dat op het scherm hetzelfde lijkt;
  • accenten die op een andere manier zijn ingetypt, bijvoorbeeld een letter met een apart accent in plaats van één samengesteld teken.

Als twee teksten gelijk lijken maar de checksums verschillen, zit de oorzaak waarschijnlijk in een van deze onzichtbare verschillen. Een hash met en zonder het afsluitende regeleinde laat dat snel zien.

Het algoritme kiezen

Gebruik hetzelfde algoritme voor beide teksten. SHA-256 is een veilige standaardkeuze. MD5 en SHA-1 herkennen gewone verschillen ook, maar gebruik ze niet als iemand opzettelijk een botsing kan maken. CRC32 is korter, maar minder betrouwbaar bij grote verzamelingen.

De tool toont in de volledige lijst alle checksums van de berekende tekst, zodat u meerdere algoritmen in één keer kunt vergelijken.

Een praktische werkwijze

Bewaar de checksum van de oorspronkelijke tekst in uw notities of in het ticket. Wanneer er een nieuwe versie komt, berekent u de hash met hetzelfde algoritme en vergelijkt u. Dat werkt goed voor configuratiefragmenten, juridische teksten, contractclausules en sjabloonteksten, wanneer u moet aantonen dat niets is veranderd en niet alleen wat er is veranderd.

Als de checksums verschillen

Ga er niet van uit dat de inhoud fout is. Controleer eerst de gebruikelijke oorzaken: gekopieerde tekst kan een spatie aan het eind bevatten, een andere stijl van regeleinden of een verborgen teken van een webpagina of tekstverwerker. Bereken de hash van beide versies nadat u ze op dezelfde manier hebt opgeschoond. Als de checksums nog steeds verschillen, splitst u elke tekst in alinea’s, berekent u de hash van elke alinea en vergelijkt u de paren tot u de gewijzigde alinea vindt.

Veelgestelde vragen

Met SHA-256 of SHA-512 wel, voor elk praktisch doel. Met MD5, SHA-1 of CRC32 is een gelijke checksum een sterk bewijs tegen toevallige fouten, maar geen bescherming tegen opzettelijke vervalsing.

Ja. Dezelfde regels in een andere volgorde geven een andere checksum, omdat de bytes op een andere plek staan.

Nee. De tool berekent de hash van één tekst tegelijk en u vergelijkt de checksums zelf. Verschillen worden niet gemarkeerd.

Ja. Hello en hello hebben verschillende checksums. Als hoofdletters geen rol mogen spelen, zet u beide teksten eerst om naar dezelfde schrijfwijze.

Gerelateerde tools

Tool beschikbaar in andere talen

Handleidingen en toepassingen