Fara í innihald

Kennitala

Úr Wikipediu, frjálsa alfræðiritinu
(Endurbeint frá Kt.)
Dæmi um samsetningu kennitölu hjá einstaklingi fæddum þann 12. janúar 1960.
  Fæðingardagur (DDMMÁÁ)
  Handahófskennd tala (20 til 99)
  Vartala
  Fæðingaröld

Kennitala (skammstafað sem kt.) er 10 tölustafa númer sem einstaklingar, félagasamtök, stofnanir og fyrirtæki nota á Íslandi til að auðkenna sig í viðskiptum og samskiptum við stofnanir, fyrirtæki og aðra einstaklinga.

Núverandi kennitölukerfi var tekið upp á áramótum 1987–1988, en áður var notast við nafnnúmer. Nafnnúmerakerfið byggðist á því að raða nöfnum landsmanna í stafrófsröð. Gamla kerfið hafði ýmsa galla, t.d. varð númerabreytingar þörf ef einstaklingur breytti um nafn. Auk þess var töf á að nýfædd börn fengju nafnnúmer, þar sem bíða þurfti eftir að viðkomandi fengi nafn. Á árunum eftir 1980 leiddi skortur á númerum til endurnotkunar á númerum látinna einstaklinga, sem olli stöku sinnum vandamálum í heilbrigðis- og menntakerfinu.[1]

Kennitalan er samanstendur af 10 tölum á forminu DDMMÁÁ-NNPÖ þar sem DD er dagurinn, MM er mánuðurinn, ÁÁ eru síðustu tveir stafirnir í fæðingarárinu, NN er handahófskennd tala, P er prófsumma sem er reiknuð út frá fyrstu átta tölunum og Ö táknar öldina.[2] Kennitölur fyrirtækja (og annarra lögaðila) þekkjast á því DD hlutinn er alltaf hærri en hjá einstaklingum, því tölunni 40 er alltaf bætt við hann og verður fyrsti stafurinn þar af leiðandi alltaf 4, 5, 6 eða 7.

Fyrstu átta stafirnir

[breyta | breyta frumkóða]

Fyrstu 6 stafir kennitölu eru myndaðir af fæðingardagsetningu einstaklings. Ef um félagasamtök, stofnun eða fyrirtæki er að ræða er notuð stofndagsetning en fyrsta talan er hækkuð um 4.

Dæmi:

  • Einstaklingur fæddur 12. janúar 1960 fær fyrri hlutann 120160[2]
  • Einstaklingur fæddur 17. júní 2007 fær fyrri hlutann 170607
  • Fyrirtæki stofnað 17. júní 2007 fær fyrri hlutann 570607

Næstu tveir stafir kennitölunnar er raðtala, nær alltaf 20 eða hærri, valin við fæðingu.[2]

Níundi stafurinn

[breyta | breyta frumkóða]

Níundi stafur kennitölunnar er vartala, og virkar sem ákveðin prófsumma sem er fengin með því að beita ákveðnu reikniriti á fyrstu 8 tölurnar. Fyrstu átta tölurnar eru margfaldaðar með tölunum 3, 2, 7, 6, 5, 4, 3 og 2 frá vinstri til hægri, margfeldin eru svo lögð saman og módúlus 11 fundinn af summunni,[2] þessi módúlus er svo notaður sem níundi stafurinn. Þannig er hægt að athuga hvort að kennitala sé löglega mynduð og hafna kennitölum sem slegnar eru inn sem ekki standast þetta vartölupróf.

Dæmi hvernig reikna ætti út níunda staf kennitölu einstaklings sem byrjar á 120160 og hefur handahófskenndu stafina 33.[2]

Fyrst eru fyrstu átta tölurnar margfaldaðar með fyrirframákveðinni talnarunu:

og þar sem

þar sem er samleifa

þar sem samleifin (módúlus) er . Ef samleifin er 0, þá er vartalan 0.

Annars ef samleifin er ekki 0, er samleifin dregin frá tölunni ellefu til að fá út vartöluna.

Tíundi stafurinn

[breyta | breyta frumkóða]

Tíundi og síðasti stafur kennitölunnar táknar öldina sem aðilinn er fæddur eða stofnaður:[2]

Forritunardæmi

[breyta | breyta frumkóða]

Hérna er dæmi um klasa-fall (e. class method) í TypeScript sem athugar hvort kennitala sé á réttu formi en amast ekki við því ef kennitölustrengurinn er tómur:

    public islSSNValidate(ssn: string) : boolean {
        if (typeof ssn !== 'undefined' && ssn != null && ssn.length > 0) {
            ssn = ssn.trim().replace('-', '').replace(' ', '');
            if (ssn.length != 10)
                return false;
			var sSum =
				(3 * parseInt(ssn.substr(0, 1))) +
				(2 * parseInt(ssn.substr(1, 1))) +
				(7 * parseInt(ssn.substr(2, 1))) +
				(6 * parseInt(ssn.substr(3, 1))) +
				(5 * parseInt(ssn.substr(4, 1))) +
				(4 * parseInt(ssn.substr(5, 1))) +
				(3 * parseInt(ssn.substr(6, 1))) +
				(2 * parseInt(ssn.substr(7, 1)));
			var modRes = sSum % 11;
			if (modRes > 0)
				modRes = 11 - modRes;
			if (modRes != parseInt(ssn.substr(8, 1)))
				return false
			var century = parseInt(ssn.substr(9, 1)); 
			if (isNaN(century) || (century != 0 && century != 9 && century != 8)) 
				return false;
        }
        return true;
    }

Gallar kennitölunnar

[breyta | breyta frumkóða]

Harðkóðun aldarinnar

[breyta | breyta frumkóða]

Þegar á að staðfesta að kennitala sé í réttu formi þá er mikilvægt að vita að það er síðasti tölustafurinn sem gefur til kynna á hvaða öld manneskjan er fædd. Ástæða fyrir mikilvægi þess er að í kennitölunni er ártalið á stuttu formi, þ.e. ef manneskjan er fædd 2018 inniheldur kennitalan aðeins tölustafina 18. Ef síðasti tölustafurinn er 9 gefur það til kynna að manneskjan hafi fæðst á 20. öld og 0 þýðir að manneskjan hafi fæðst á 21. öld. Svo ef manneskjan er fædd árið 18 og síðasti stafurinn er 9 er manneskjan fædd 1918. Ef síðasti stafurinn er 0 er manneskjan fædd 2018.

Forritarar eru flestir sammála því að þeir eigi að skapa kóða sem rennur ekki út. Sem sagt að kóðinn sem þeir skrifa gæti virkað í dag og eftir 1000 ár. Kennitalan á þessu formi eins og við notum á Íslandi í dag gerir það að verkum að þegar kennitöluformið er staðfest þá þarf forritarinn að harðkóða aldirnar inn í forritið.

Ef það á að staðfesta að kennitalan 0101302129 sé á réttu formi þá þarf að vera skilgreint að ef tíundi stafurinn sé 9 þá skal sett 19 fyrir framan ártalið. Forritarinn gæti skilgreint eða harðkóðað nokkrar aldir fram í tímann en betra væri að kennitalan innihaldi þessar upplýsingar svo forritið gæti verið sjálfbært við að finna nákvæmt ártal án þess að forritarinn gæfi því auka upplýsingar sem síðan renna út að lokum.

Sem dæmi, ef forritari skilgreinir aðeins að:

1. Ef síðasti tölustafurinn er 9 er sett 19 fyrir framan ártalið

2. Ef síðasti tölustafurinn er 0 er sett 20 fyrir framan ártalið

þá virkar sami kóði ekki þegar hann er keyrður með kennitölu á persónu sem fæðist árið 2100 því þá verður síðasti stafurinn 1 (Sjá forritunardæmi.). En vert er að nefna að yrði síðasti stafurinn 1 þá gæti kennitalan staðið fyrir 12. öld (árin 1100-1200) eða 2. öld. (árin 100-200) nema inn komi skilgreining frá forritara sem mun hætta að virka rétt eftir ákveðinn tíma.

Til þess að forritið gæti verið algjörlega sjálfbært væri hægt að leysa þetta vandamál á þann veg að kennitölunni yrði breytt þannig að ártalið væri á lengra formi og hætt væri að nota síðasta stafinn, t.d. 01011930-212. Einnig væri hægt að bæta einum staf fyrir framan síðasta stafinn, t.d. 010130-21219. Í seinni breytingunni þyrfti ekki að breyta útreikningi vartölu.

Aðgangur að þjóðskrá

[breyta | breyta frumkóða]

Til að staðfesta kennitölu er hægt að leita í þjóðskrá. Tenging við hana fer í gegnum þriðja aðila og greiða þarf fyrir aðgang Geymt 10 júlí 2017 í Wayback Machine. Þá þarf að gera grein fyrir því að látið fólk kemur ekki upp við leit í þjóðskrá.

Annar mögulegur vandi við kennitöluna er að hún gengur út frá því að ekki fleiri en 73 einstaklingar með kennitölu eigi sama fæðingardag. Það er vegna þess að fyrstu tvær tölurnar af þeim fjórum síðustu er raðnúmer, tala frá 20-89, og níunda talan sem reiknuð er út frá hinum getur ekki verið 10. Þar sem meðaltal fæðinga á dag á Íslandi er rúmlega 11[3] þá mun þetta ekki vera vandamál á komandi árum.

  1. Eiriksdottir, Emelia. „Hversu lengi hafa kennitölur verið notaðar á Íslandi og til hvers þurfum við þær?“. Visindavefurinn. University of Iceland. Afrit af upprunalegu geymt þann 7. febrúar 2023. Sótt 21. janúar 2024.
  2. 2,0 2,1 2,2 2,3 2,4 2,5 „Um kennitölur“. Þjóðskrá. Sótt september 2019.
  3. https://www.hagstofa.is/utgafur/frettasafn/mannfjoldi/faedingar-2017/

„Hvernig verða síðustu fjórir tölustafirnir í íslensku kennitölunni til?“. Vísindavefurinn.


  Þessi Íslandsgrein er stubbur. Þú getur hjálpað til með því að bæta við greinina.