C# İle TC Kimlik Numarası Doğrulama

Posted by

Merhaba arkadaşlar, bu yazımda sizlere C# İle TC Kimlik Numarası Doğrulama konusundan bahsedeceğim.

TC Kimlik numaraları, 11 rakamdan oluşur ve belirli bir doğrulama algoritmasıyla kontrol edilir. Bu blog yazısında, C# kullanarak TC Kimlik Numarası doğrulamayı nasıl yapabileceğimizi öğreneceğiz.

TC Kimlik Numarası Doğrulama Algoritması:

1) TC Kimlik Numarası 11 haneli olmalıdır.
2) TC Kimlik Numarası sadece rakamlardan oluşmalıdır.
3) İlk hane 0 olamaz.
4) İlk 10 hane üzerinden kontrol işlemi yapılır:
4.1) İlk hane tek hane olarak kabul edilir ve tek haneler toplamı hesaplanır.
4.2) İkinci hane çift hane olarak kabul edilir ve çift haneler toplamı hesaplanır.
5) 10. hane = (tek haneler toplamı * 7 – çift haneler toplamı) % 10
6) 11. hane = (tek haneler toplamı + çift haneler toplamı + 10. hane) % 10
7) Hesaplanan 10. ve 11. haneler, TC Kimlik Numarası’nın 10. ve 11. haneleriyle eşleşmelidir.

.NET ile TC Kimlik Numarası Doğrulama:

TC Kimlik Numarası doğrulama algoritması üzerinde C# kullanarak bir uygulama geliştirebiliriz.

Basit bir örnek ile TC Kimlik Numarası Doğrulama kodlarını aşağıdaki gibi yazabiliriz.

using System;

class Program
{
    static void Main()
    {
        Console.Write("TC Kimlik Numarasını Girin: ");
        string tcKimlikNo = Console.ReadLine();

        if (IsValidTCKimlikNo(tcKimlikNo))
        {
            Console.WriteLine("Geçerli bir TC Kimlik Numarasıdır.");
        }
        else
        {
            Console.WriteLine("Geçerli bir TC Kimlik Numarası değildir.");
        }
    }

    static bool IsValidTCKimlikNo(string tcKimlikNo)
    {
        // TC Kimlik Numarası 11 haneli olmalıdır.
        if (tcKimlikNo.Length != 11)
        {
            return false;
        }

        // TC Kimlik Numarası sadece rakamlardan oluşmalıdır.
        foreach (char c in tcKimlikNo)
        {
            if (!char.IsDigit(c))
            {
                return false;
            }
        }

        // İlk hane 0 olamaz.
        if (tcKimlikNo[0] == '0')
        {
            return false;
        }

        // İlk 10 hane üzerinden kontrol işlemi yapılır.
        int[] digits = new int[11];
        for (int i = 0; i < 11; i++)
        {
            digits[i] = int.Parse(tcKimlikNo[i].ToString());
        }

        int oddSum = digits[0] + digits[2] + digits[4] + digits[6] + digits[8];
        int evenSum = digits[1] + digits[3] + digits[5] + digits[7];

        int tenthDigit = (oddSum * 7 - evenSum) % 10;
        int eleventhDigit = (oddSum + evenSum + digits[9]) % 10;

        return digits[9] == tenthDigit && digits[10] == eleventhDigit;
    }
}

Yukarıdaki kod örneği, kullanıcıdan TC Kimlik Numarası girmesini bekler, ardından doğrulama işlemini gerçekleştirir ve sonucu ekrana yazdırır.

Bu blog yazısında, C# kullanarak TC Kimlik Numarası doğrulama algoritmasını nasıl uygulayabileceğinizi öğrendik. Bu tür doğrulamalar, kişisel bilgilerin güvenliğini sağlamak ve veri doğruluğunu korumak için önemlidir. Unutmayın ki gerçek uygulamalarda daha kapsamlı güvenlik kontrolleri yapılması gerekebilir.

Umarım faydalı olur.

Bir sonraki yazıda görüşmek üzere…

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir