TC Kimlik Numarası Oluşturma ve Kontrol
TC Kimlik numaraları 11 basamaktan oluşmaktadır. İlk 9 basamak arasında kurulan bir algoritma bize 10. basmağı, ilk 10 basamak arasında kurulan algoritma ise bize 11. basamağı verir.
Yani Kısaca;
* 11 hanelidir.
* Her hanesi rakamsal değer içerir.
* İlk hane 0 olamaz.
* 1. 3. 5. 7. ve 9. hanelerin toplamının 7 katından, 2. 4. 6. ve 8. hanelerin toplamı çıkartıldığında, elde edilen sonucun 10’a bölümünden kalan, yani Mod10’u bize 10. haneyi verir.
* 1. 2. 3. 4. 5. 6. 7. 8. 9. ve 10. hanelerin toplamından elde edilen sonucun 10’a bölümünden kalan, yani Mod10’u bize 11. haneyi verir.
TC Kimlik Numarası oluşturmak için GenerateTCKimlikNo() isimli fonksiyonu, TC kimlik numarası kontrolü için için Kontrol() isimli fonksiyonu kullanabilirsiniz.
public string GenerateTCKimlikNo() { String TCKN = ""; Random numbers = new Random(); int Flag1 = numbers.Next(10000, 99999); int Flag2 = numbers.Next(1000, 9999); int Flag1Toplam = Toplam(Flag1.ToString()); int Flag2Toplam = Toplam(Flag2.ToString()); int b10 = ((Flag1Toplam * 7) - Flag2Toplam) % 10; int b11 = (Flag1Toplam + Flag2Toplam + b10) % 10; for (int i = 0; i < Flag2.ToString().Length; i++) { TCKN = TCKN + Flag1.ToString()[i]; TCKN = TCKN + Flag2.ToString()[i]; } TCKN = TCKN + Flag1.ToString()[Flag1.ToString().Length-1]; TCKN = TCKN + b10.ToString() + b11.ToString(); return TCKN; }
public int Kontrol(string TCNo) { int sonuc; int Flag1 = Convert.ToInt32(TCNo.Substring(0, 1)) + Convert.ToInt32(TCNo.Substring(2, 1)) + Convert.ToInt32(TCNo.Substring(4, 1)) + Convert.ToInt32(TCNo.Substring(6, 1)) + Convert.ToInt32(TCNo.Substring(8, 1)); int Flag2 = Convert.ToInt32(TCNo.Substring(1, 1)) + Convert.ToInt32(TCNo.Substring(3, 1)) + Convert.ToInt32(TCNo.Substring(5, 1)) + Convert.ToInt32(TCNo.Substring(7, 1)); int b10 = ((Flag1 * 7) - Flag2) % 10; int toplam = 0; if (b10 == Convert.ToInt32(TCNo.Substring(9, 1))) { for (int i = 0; i < 10; i++) { toplam = toplam + Convert.ToInt32(TCNo.Substring(i, 1)); } if ((toplam % 10) == Convert.ToInt32(TCNo.Substring(10, 1))) { sonuc = 1; } else sonuc = 0; } else sonuc = 0; return sonuc; }
Posted In
Yorumlar
Yanıt Bırak