Kennitala

Úr Wikipediu, frjálsa alfræðiritinu
Jump to navigation Jump to search

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. Þetta númer er á 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.[1] Kennitölur voru teknar upp á áramótum 1987–1988, en áður var notast við nafnnúmer.

Uppbygging[breyta | breyta frumkóða]

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 þess nema hvað tölunni 4, 5, 6 eða 7 er sett í staðinn fyrir fyrstu töluna í stofndagsetningunni.

Dæmi:

  • Einstaklingur fæddur 12. janúar 1960 fær fyrri hlutann 120160[1]
  • 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, 20 eða hærri, valin við fæðingu.[1]

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á hægri til vinstri, margfeldin eru svo lögð saman og módúlus 11 fundinn af summunni,[1] þ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.[1]

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 dreginn 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:[1]

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. Þá þarf að gera grein fyrir því að látið fólk kemur ekki upp við leit í þjóðskrá.

Raðnúmer[breyta | breyta frumkóða]

Annar mögulegur vandi við kennitöluna er að hún gengur út frá því að ekki fleiri en 79 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 sem byrjar á 20. Ef 80 einstaklingar hefðu sama fæðingardag myndu síðustu fjórir stafirnir verða fimm. Þar sem meðaltal fæðinga á dag á Íslandi er rúmlega 11[2] þá mun þetta ekki vera vandamál á komandi árum.

Heimildir[breyta | breyta frumkóða]

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

Tengt efni[breyta | breyta frumkóða]

Tenglar[breyta | breyta frumkóða]


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