Kapat
C Sharp 483 views 0

T.C. Kimlik no son iki hanenin algoritması – C# (C Sharp)

Bildiğimiz gibi T.C. Kimlik no 11 haneden oluşur. Bu 11 hanenin bir takım algoritmaları bulunmaktadır. Hatırladığım kadarıyla İlk üç hanesi soy bilgisini verir 4-6 karakter arası aile bireylerinden oluşur gibi gibi vs. Geniş çaplı algoritmadan oluşan T.C. kimlik no halen güvenlik zafiyeti verebilmektedir. Aile bireylerinden herhangi birinin T.C. Kimlik no bilgisine ulaşan kötü niyetli bir vatandaş sizin T.C. Kimlik numaranıza ulaşmasını kolaylaştırır. Her neyse konuyu çok uzatmadan bugün ki örneğimize geçelim. Örneğimizde işlediğimiz 2 temel algoritma bulunmaktadır. Bu algoritma tam anlamıyla sonucu vermese de %99 oranında doğru sonuç vermektedir. Bu 2 temel algoritma T.C. kimlik numarasının son 2 hanesini bulmamıza yardımcı olacaktır. Yani 10. ve 11. haneyi 2 algoritma kullanarak elde edeceğiz. Öncelikle formülümüzü yazalım.

T.C. Kimlik numarasının hanelerine x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11 olarak belirtelim.

10. hane formülü;

(x1 + x3 + x5 + x7 + x9) x 7 + (x2 + x4 + x6 + x8) x 9 = x  (çıkan sonucun son hanesi yani birler basamağı T.C. kimlik numarasının 10. hanesini verir.)

11. hane formülü;

(x1 + x3 + x5 + x7 + x9) x 8 = x (çıkan sonucun son hanesi yani birler basamağı T.C. kimlik numarasının 11. hanesini verir.)

Algoritmaya göre kod yapımız ise aşağıdaki gibi olacak.

2 temel algoritmamızdan oluşan kod parçacığı bu kadardır. Örnek proje görüntüsü aşağıdaki gibidir.

 

Açık kaynak kodu ile sizlerle paylaşıyorum aşağıdan indirebilirsiniz.

Yardımım dokunduysa ne mutlu hepimize.

Kolay gelsin.

Mazlum Bora {borasign}

Yazılım uzmanı

Bir cevap yazın