Luhn's algoritme: wat het is, hoe het werkt en toepassingen

Laatste update: 12 april 2026
  • Het Luhn-algoritme valideert nummers zoals creditcards en IMEI-nummers.
  • De formule detecteert fouten in eenvoudige numerieke transcripties.
  • Het wordt veel gebruikt in bank- en telecommunicatiesystemen.

Illustratie van het algoritme van Luhn

Het Luhn-algoritme , ook wel bekend als de "modulo van 10", is een eenvoudig maar ongelooflijk nuttig wiskundig hulpmiddel. Het wordt vaak gebruikt om identificatienummers te valideren , zoals die op creditcards en de IMEI-nummers van mobiele telefoons. Het algoritme, ontworpen in 1954 door de wetenschapper Hans Peter Luhn, is nog steeds relevant en wordt in talloze sectoren gebruikt.

Dit algoritme is niet alleen uiterst effectief in het opsporen van veelvoorkomende fouten in numerieke transcripties , maar voldoet ook aan de ISO/IEC 7812-1-norm. Hoewel het niet is ontwikkeld voor cryptografische doeleinden, maakt het vermogen om onbedoelde fouten te voorkomen het een essentieel hulpmiddel.

Wat is het Luhn-algoritme precies?

Het Luhn-algoritme is een methode gebaseerd op eenvoudige wiskundige berekeningen om de geldigheid van een getal te verifiëren . Hoewel veel mensen het associëren met creditcards, wordt het ook gebruikt in andere systemen die numerieke validatie vereisen, zoals IMEI-nummers van mobiele telefoons, bankrekeningnummers en zelfs barcodes.

Oorspronkelijk ontwikkeld als een mechanische formule voor apparaten, is de implementatie ervan nu digitaal. Het proces omvat optellen, vermenigvuldigen en modulo 10-bewerkingen , waardoor het gemakkelijk te implementeren is in verschillende programmeertalen.

Hoe werkt het Luhn-algoritme?

De werking van het Luhn-algoritme kan worden uitgelegd in een paar eenvoudige stappen die effectief zijn bij het detecteren van fouten. Stel dat we een getal willen valideren:

  1. We beginnen bij het laatste cijfer van het getal en werken dan naar links.
  2. We verdubbelen elk tweede cijfer (van rechts geteld).
  3. Als de vermenigvuldiging een getal oplevert dat groter is dan 9, tellen we de afzonderlijke cijfers bij elkaar op (bijvoorbeeld 14 wordt 1+4=5).
  4. We tellen alle verkregen cijfers bij elkaar op, zowel de cijfers die gedupliceerd zijn als de cijfers die hetzelfde zijn gebleven.
  5. Het nummer is geldig als de totale som modulo 10 is gelijk aan 0. Anders is het dat niet.
  Het algoritme van Euclides: geschiedenis, gebruik en toepassingen

Het getal 79927398713 wordt bijvoorbeeld succesvol geverifieerd met behulp van de bovenstaande stappen. De formule stelt u ook in staat om het "controlecijfer" te berekenen dat nodig is om een ​​geldig identificatienummer te voltooien.

Echte toepassingen van het Luhn-algoritme

Tot de meest opvallende toepassingen van het Luhn-algoritme behoren:

  • Creditcardvalidatie: Wordt door uitgevers zoals Visa, Mastercard en American Express gebruikt om kaartnummers te verifiëren.
  • IMEI-codes: Unieke identificatiegegevens voor mobiele apparaten bevatten een validatiecijfer dat met behulp van Luhn wordt berekend.
  • Banksystemen: Verificatie van rekeningen en klantnummers.
  • Online-tools: Rekenmachines en scripts die snel getallen valideren met behulp van deze formule.

Deze veelzijdigheid maakt het Luhn-algoritme tot een standaard binnen systemen die betrouwbare numerieke validatie vereisen.

Beperkingen van het algoritme

Ondanks zijn bruikbaarheid is Luhns algoritme niet onfeilbaar. Bijvoorbeeld:

  • Complexe transposities, zoals het omwisselen van 09 voor 90, worden niet herkend.
  • Het is niet bedoeld om bescherming te bieden tegen opzettelijke manipulatie of fraude.
  • Het is beperkt tot numerieke reeksen, hoewel er uitbreidingen zijn voor alfanumerieke tekens.

Deze beperkingen maken het systeem geschikter voor het opsporen van onbedoelde fouten , als aanvulling op andere beveiligingsmechanismen ter bescherming van gevoelige gegevens.

Implementatie in programmering

Het algoritme kan eenvoudig in bijna elke programmeertaal worden geïmplementeerd. Hieronder ziet u een voorbeeld van een Python-fragment:

def validate_luhn(getal): som = 0 toggle = False voor cijfer in omgekeerd(getal): d = int(cijfer) als toggle: d *= 2 als d > 9: d -= 9 som += d toggle = niet toggle return som % 10 == 0

Deze basiscode neemt een tekenreeks als invoer en retourneert een Booleaanse waarde die aangeeft of het getal geldig is volgens Luhn.

  Verschil tussen algoritme en programma: gedetailleerde gids

Het Luhn-algoritme is nog steeds een onmisbaar hulpmiddel in de moderne wereld, vooral in sectoren waar identificatienummers snel en efficiënt moeten worden gevalideerd. De **eenvoud** en **praktische bruikbaarheid** ervan hebben ervoor gezorgd dat het een internationale standaard is geworden. Als we begrijpen hoe het werkt en hoe het wordt gebruikt, kunnen we de impact ervan op ons dagelijks leven beoordelen.