Asmens kodo tikrinimas
Prireikė čia vienam žmogiukui asmens kodo tikrinimo programėlės. Teko skubiai nusirašyti iš interneto tikrinimo algorintmą ir sukišti į Microsoft Visual Basic apvalkalą. Va ir gavoasi va tokis produktas: Asmens kodo tikrinimas.
Programa gali reikalauti MS Visual Basic runtime. Ją laisvai galima rasti internete ar MS interneto puslapiuose.
Pats tikrinimo algoritmas visiškai paprastas. Manau jį lengvai galima įkišti į MS Excel Basicą:
Ženkliukas “" reiškia, kad perkėlimas į kitą eilute nereikalingas.
Private Function chksum(ak)
Dim c, c1
c = Val(Mid$(ak, 1, 1)) + Val(Mid$(ak, 2, 1)) * 2 +
\ Val(Mid$(ak, 3, 1)) * 3 + Val(Mid$(ak, 4, 1)) * 4 +
\ Val(Mid$(ak, 5, 1)) * 5 + Val(Mid$(ak, 6, 1)) * 6 +
\ Val(Mid$(ak, 7, 1)) * 7 + Val(Mid$(ak, 8, 1)) * 8 +
\ Val(Mid$(ak, 9, 1)) * 9 + Val(Mid$(ak, 10, 1))
c = c Mod 11
c1 = Val(Mid$(ak, 1, 1)) * 3 + Val(Mid$(ak, 2, 1)) * 4 +
\ Val(Mid$(ak, 3, 1)) * 5 + Val(Mid$(ak, 4, 1)) * 6 +
\ Val(Mid$(ak, 5, 1)) * 7 + Val(Mid$(ak, 6, 1)) * 8 +
\ Val(Mid$(ak, 7, 1)) * 9 + Val(Mid$(ak, 8, 1)) * 1 +
Val(Mid$(ak, 9, 1)) * 2 + Val(Mid$(ak, 10, 1)) * 3
c1 = c1 Mod 11
If c <> 10 Then
chksum = c
ElseIf c1 <> 10 Then
chksum = c1
Else
chksum = 0
End If
End Function
Private Function ak(s)
Dim i
i = chksum(s)
If Mid$(s, 11, 1) = i Then
ak = True
Else
ak = False
End If
End Function
Algoritmas tekstinėje formoje.
O štai čia Asmens kodo tikrinimas MS EXCEL. Tik pasireguliuokite savo “security" nustatymus excelyje.
July 11th, 2007 at 7:32 pm
Na raso jog mano asmens kodas neteisingas. Klaida arba pase arba sitam kode
July 12th, 2007 at 8:13 am
Sveikas,Levai,senai bematytas
Ivedus savo AK man raso,kad neteisybe… Kokiu prinicpu si programele tikrina ir nustato?
July 12th, 2007 at 9:00 am
O apie mano a.koda sako TRUE
Beje, padariau copy/paste i MS Excell ir veikia is kart, be jokiu pakeitimu.
July 12th, 2007 at 9:27 am
Kiek tikrinau su man prieinamais AK viskas veikė. Nzn. algorintmas ne mano darytas. Gal vėliau, kai gausiu daugiau AK, pabandysiu patikrinti- neturiu nei vieno kuris netiktu.
July 12th, 2007 at 6:33 pm
Suradau teisingesnį algoritmą ir patikrinau jį su dešimčia TIKRŲ probleminių asmens kodų.
July 12th, 2007 at 6:48 pm
kokiu cia algoritmu reikia ieskot?
nzn kam.
pirmas skaicius nusako lyti: 3 - vyras, 4 -boba, 5 dar yra, atrodo
tada eina gimimo data: du sk metam (45), du skaiciai men ir du sk dienai, o tada dar 4 skaitmenys, kurie glai buti belekokie.
July 12th, 2007 at 7:18 pm
To JURGENAS: deja ne. Paskutinis skaitmuo yra kontrolinė suma. Taigi paskutiniai skaičiai ne bet kokie.
O pirmas skaitmuo yra šimtmetis ir lytis. 1- 19a vyras, 2- 19a moteris, 3- 20a vyras, 4-20a moteris, 5- 21a vyras, 6- 21a moteris.
July 14th, 2007 at 2:49 pm
aiskuma