3 Kasım 2011

TC Kimlik Numarası Doğrulama Java Kodu

İlk 10 sayının toplamının birler basamağı, 11. karaktere eşit olması durumunda TC Kimlik numarası geçerli bir numaradır (Kendi TC kimlik numaranız ile deneyebilirsiniz)

Örnek: TC Kimlik No olarak 25252525345 alalım
ilk 10 rakamı toplayalım; 2+5+2+5+2+5+2+5+3+4 = 35
35 sayısının birler basamağındaki rakam : 5
Tc kimlik numarasının son rakamı : 5

Kullanmanız gereken fonksiyon ise:
  public static Boolean TcKimlikKontrol(String kimlikNo)
    {
    Tc = kimlikNo;
    int no = 0;
    no = no + Convert.ToInt32(Tc.Substring(0, 1));
    no = no + Convert.ToInt32(Tc.Substring(1, 1));
    no = no + Convert.ToInt32(Tc.Substring(2, 1));
    no = no + Convert.ToInt32(Tc.Substring(3, 1));
    no = no + Convert.ToInt32(Tc.Substring(4, 1));
    no = no + Convert.ToInt32(Tc.Substring(5, 1));
    no = no + Convert.ToInt32(Tc.Substring(6, 1));
    no = no + Convert.ToInt32(Tc.Substring(7, 1));
    no = no + Convert.ToInt32(Tc.Substring(8, 1));
    no = no + Convert.ToInt32(Tc.Substring(9, 1));

    string son = Convert.ToString(no).Substring(1, 1);

       if (son == Tc.Substring(10, 1))
      {return true;}
      else{return false;}
    } 
Örnek kullanım:  TcKimlikKontrol(25252525345) // true dönerse doğru, false dönerse yanlıştır (Algoritmayı kullanmadan önce, kullanıcının %10 luk bir oranla bu rakamı tutturabilme ihtimalini  göz önüne almayı unutmayınız (11 haneli bir rakam girdiğini varsayarak))

Not: Fonksiyonu çok eskiden yazmıştım,kodda düzenleme yapmadım. TC kimlik numarasının  elemanlarını bir array'e atıp, döngü ile toplama işlemini gerçekleştirebilirsiniz.