1 Son düzenleyen, metin (21.01.2011 11:59:10)

Konu: TC Kimlikno tutarlılık kontrolü

Biliyorsunuz. Artık TC kimlik no sormak malesef aboneliğe bağlı. Bu kodla en azından karşınızdakinin kafadan bir TC kimlik no sallamadığına emin olabiliyorsunuz. Bu kod alakasız bir konuyu araştırırken karşıma çıktı ve foxproya çevirdim.

Visual Fox Pro
Lparameters lctc

Local k1,k2,k3,k4,k5,k6,k7,k8,k9,k10,k11,tekler,ciftler,t1,t2,t3,c1,c2
k1 = Subs(m.lctc,1, 1)
k2 = Subs(m.lctc,2, 1)
k3 = Subs(m.lctc,3, 1)
k4 = Subs(m.lctc,4, 1)
k5 = Subs(m.lctc,5, 1)
k6 = Subs(m.lctc,6, 1)
k7 = Subs(m.lctc,7, 1)
k8 = Subs(m.lctc,8, 1)
k9 = Subs(m.lctc,9, 1)
k10 = Subs(m.lctc,10, 1)
k11 = Subs(m.lctc,11, 1)
 
tekler = Val(m.k1)+Val(m.k3)+Val(m.k5)+Val(m.k7)+Val(m.k9)
ciftler = Val(m.k2)+Val(m.k4)+Val(m.k6)+Val(m.k8)
 
 
t1 = ( m.tekler * 3 ) + m.ciftler
c1 = ( 10 - ( m.t1 % 10 ) ) % 10
t2 = m.c1 + m.ciftler
t3 = ( m.t2 * 3 ) + m.tekler
c2 = ( 10 - ( m.t3 % 10 ) ) % 10
 
If m.c1 = Val(m.k10) And m.c2 = Val(m.k11)
    Return
Endif
 
Return .F.
Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

2

Re: TC Kimlikno tutarlılık kontrolü

Metin çok sağol bu benim işime yarayacak. Ancak buradaki kontrol mantığı nedir?

Visual Fox Pro
tekler = Val(m.k1)+Val(m.k3)+Val(m.k5)+Val(m.k7)+Val(m.k9)

ciftler = Val(m.k2)+Val(m.k4)+Val(m.k6)+Val(m.k8)
 
 
t1 = ( m.tekler * 3 ) + m.ciftler
c1 = ( 10 - ( m.t1 % 10 ) ) % 10
t2 = m.c1 + m.ciftler
t3 = ( m.t2 * 3 ) + m.tekler
c2 = ( 10 - ( m.t3 % 10 ) ) % 10
 
If m.c1 = Val(m.k10) And m.c2 = Val(m.k11)
    Return
Endif

Yani TC Kimlik No oluşturulurken böyle bir formülmü kullanılıyor.

3 Son düzenleyen, metin (21.01.2011 14:47:59)

Re: TC Kimlikno tutarlılık kontrolü

aynı ean13 barkodlarda olduğu gibi burda da check digiti var. yanlış tc kimlik no söyleyip işlerin karışmasını engellemek için yapılmış bir uygulama.
http://www.hayatiguney.com/blog/post/Tc … trolu.aspx

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

4

Re: TC Kimlikno tutarlılık kontrolü

Ben mi kor oldum goremiyorum, bu formulde kisinin ad,soyad,baba adi vs nerede. Yoksa bu formulu tutturan kimlik no sallamak yeterli mi?

5

Re: TC Kimlikno tutarlılık kontrolü

Bu işteki mantığı bende çözemedim. Vardır herhalde bir bildikleri ...

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

6

Re: TC Kimlikno tutarlılık kontrolü

Burada aslında tc kimlik no 9 haneli (her nasıl elde ediliyorsa) 10. ve 11. haneler yukarıdaki matematiksel formüllerle bu 9 haneli numarayı doğrulamada kullanılıyor.

7

Re: TC Kimlikno tutarlılık kontrolü

Dogrulayacak ta ne olacak onu anlamadim:) Ben de rahatlikla once 9 basamakli bir sayi sallarim, bu formule gore son iki rakami eklerim gecerli olur.

8

Re: TC Kimlikno tutarlılık kontrolü

bu kodlamayı biz (programcılar - meraklılar)  biliyoruz. Örneğin ben düne kadar ben bilmiyordum.
bankada orda burda kontrol yapılırken anladığım kadarı ile kimlik no ile kişi uyuşması değil - böyle bir kimlik beyanı gerçek mi diye belirleniyor.
Başka bir deyişle; kişi özlük bilgileri korunmalı diye herhalde ???

VFP9 SP2

9

Re: TC Kimlikno tutarlılık kontrolü

cetinbasoz yazdı:

Dogrulayacak ta ne olacak onu anlamadim:) Ben de rahatlikla once 9 basamakli bir sayi sallarim, bu formule gore son iki rakami eklerim gecerli olur.

Olsa olsa ilk etapta vatandaşın tc kimlik nosunu doğru okuyup okumadığı kontrol edilmiş olur. Ama sahte bir numara üretip üretmediğini kontrolde işe yaramaz. Onun içinde herhalde web üzerinden Mernis Servislerinden bir sorgulama yapılır.

10 Son düzenleyen, metin (22.01.2011 22:18:34)

Re: TC Kimlikno tutarlılık kontrolü

cetinbasoz yazdı:

Dogrulayacak ta ne olacak onu anlamadim:) Ben de rahatlikla once 9 basamakli bir sayi sallarim, bu formule gore son iki rakami eklerim gecerli olur.

hedef kafaya aldatmayı koymuş dolandırıcılar değil zaten. onların da bu formülü bilmesine gerek yok. başkasının tc kimlik nosunu öğrenir onu söyler.
basit tc kimlik istenen durumlarda insanların sallamasını engeller. çünkü tc kimliğini bilmeyen insanlar kafadan sallıyor. benim için çok faydalı. hemen taksitli satış programıma ekleyecem.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

11

Re: TC Kimlikno tutarlılık kontrolü

Tc Kimlik No için "00000000000" girildiğinde, test başarılı sonuçlanıyor.
Onun dışında ama gördüğüm kadar doğru sonuçlar veriyor. Kod için teşekkür ederim.

Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

12

Re: TC Kimlikno tutarlılık kontrolü

Mehmet,
Ciddi olamazsin:) "00000000000" disinda atilabilecek basit seriler yokmu yani?
"11111111110", "22222222220", ... gibi.

"Gecerlilik" kontrolu dusmuyorsa bu kimlik nolar gecerli:)

13

Re: TC Kimlikno tutarlılık kontrolü

Üzerinde basit bir pariteyle hata bulma özelliği bulunmaktadır; ilk 10 rakamın toplamının birler basamağı, 11. rakamı vermekte.
Ayrıca; 1, 3, 5, 7 ve 9. rakamın toplamının 7 katı ile 2, 4, 6 ve 8. rakamın toplamının 9 katının toplamının birler basamağı 10. rakamı; 1, 3, 5, 7 ve 9. rakamın toplamının 8 katının birler basamağı 11. rakamı vermektedir.

Kaynak: http://tr.wikipedia.org/wiki/Türkiye_Cu … k_Numarası

14

Re: TC Kimlikno tutarlılık kontrolü

Tc kimlik numarasının bu denli püf noktalara sahip olduğunu bilmiyordum ilginç
hemen denemem lazım

15

Re: TC Kimlikno tutarlılık kontrolü

işyerimde yaptığım çalışmada sigorta bilgilerini verdiğim işçilerin tc numaralarının bu kurallara uyduğunu fark ettim ayrıca ince bir detay daha hiçbir tc kimlik numarasının sonu tek rakamla bitmiyor her tc numarası çift rakamla bitiyor yani 0 2 4 6 8