Samodetekující kód

Z Wikipedie, otevřené encyklopedie

Skočit na: Navigace, Hledání

Samodetekující kódy slouží k jednoduchému ověření správnosti zadaných dat. Princip je založen na tom, že zadaná data jsou (buď rovnou, nebo po určité matematické operaci) dělitelná daným číslem, nejčastěji bývá voleno 11 (tzv. jedenáctkový samodetekující kód). Daný dělitel by měl splňovat několik kritérií:

  • dvoucifernost (aby se dala vždy odhalit chyba zadaná v jediné cifře)
  • prvočíselnost

Čím vyšší dělitel se zvolí, o to delší bude výsledný kód, ale také vyšší pravděpodobnost odhalení chyby. U jedenáctkového samodetekujícího kódu je zaručeno, že při zadání jedné cifry chybně bude omyl odhalen, u dvou špatně zadaných cifer už je pravděpodobnost odhalení pouze 10/11.

[editovat] Konkrétní aplikace

Všechna rodná čísla vytvořená po roce 1986 včetně jsou dělitelná jedenácti (poslední čtyři číslice jsou voleny tak, aby každé rodné číslo tuto vlastnost splňovalo). Na podobném principu jsou ošetřeny všechny ISBN a ISSN kódy, čísla bankovních účtů (u jednotlivých finančních institucí se však konkrétní implementace mírně odlišují) a platebních karet a některé čárové kódy, např. EAN-13.

[editovat] Nedostatky

U samodetekujících kódů je možné ověřit správnost zadání, při odhalení chyby ale není možné zjistit původní informaci. Tento nedostatek je odstraněn pomocí redundance informace u samoopravných kódů.