C# TC Kimlik No Üreten ve Doğrulayan Metot

'Programlama' forumunda ...... tarafından 5 Ağu 2009 tarihinde açılan konu

Konu etiketleri:
  1. ......

    ...... Misafir

    Tc kimlik numarasının doğru olup olmadığını kontrol ediyor ve tc kimlik no kurallarına uygun tc kimlik numarası üretiyor..


    Kod:
    private string tckimlik_uret()
            {
                string sonuc = null;
                bool durum = true;
              
                Random rnd = new Random();
                int[] tcno = new int[11];
                int genelkont = 0;
                int kontroltek = 0;
                int kontrolcift = 0;
    
                tcno[0] = rnd.Next(1, 10);
                kontroltek = tcno[0];
    
                while (durum)
                {
                    for (int i = 2; i <= 8; i += 2)
                    {
                        tcno = rnd.Next(0, 10);
                        kontroltek += tcno;
                    }
    
                    for (int i = 1; i <= 7; i += 2)
                    {
                        tcno = rnd.Next(0, 10);
                        kontrolcift += tcno;
                    }
                    tcno[9] = ((kontroltek*7) - kontrolcift) % 10;
    
                    for (int i = 0; i < 11; i++)
                    {
                        genelkont += tcno;
                    }
    
                    tcno[10] = genelkont % 10;
    
                    if (tcno[10] % 2 == 0)
                    {
                        durum = false;
                    }
                    //Bu else zaten girmiyor sadece deneme amaçlı yazdım
                    //else
                    //{
    
                    //}
                }
    
                foreach (int sayi in tcno)
                {
                    sonuc += sayi.ToString();
                }
    
    
                return sonuc;
            
            }
    
            private bool tckontrol(string tcno)
            {
                bool sonuc = false;
                int kontroltek = 0;
                int kontrolcift = 0;
                int genelkont = 0;
                char[] tcdizi = tcno.ToCharArray();
    
                for (int i = 0; i <= 8; i += 2)
                {
                    kontroltek += Convert.ToInt32(tcdizi.ToString());
                    //kontroltek += tcno;
                }
    
                for (int i = 1; i <= 7; i += 2)
                {
                    kontrolcift += Convert.ToInt32(tcdizi.ToString());
                }
    
                if (Convert.ToInt32(tcdizi[9].ToString()) == ((kontroltek * 7) - kontrolcift) % 10)
                {
                    for (int i = 0; i < 10; i++)
                    {
                        genelkont += Convert.ToInt32(tcdizi.ToString());
                    }
    
                    if (genelkont % 10 == Convert.ToInt32(tcdizi[10].ToString()))
                    {
                        sonuc=true;
                    }
                    else
                    {
                        sonuc=false;
                    }
    
                }
                else
                {
                    sonuc = false;
                }
    
                return sonuc;
            } 
     

Bu Sayfayı Paylaş