TCKN Algoritması: 11 Hane Nasıl Doğrulanır?
T.C. Kimlik Numarasının matematiksel kontrol mantığı. İki check digit, ilk hane kuralı ve form validasyonunda nasıl kullanılır.
Neden 11 hane?
T.C. Kimlik Numarası 11 hanelidir ve rastgele atanmış gibi görünse de son iki hanesi kontrol rakamıdır. Yani ilk 9 hane "kimliği" temsil eder, son 2 hane matematiksel olarak ilk 9'dan türetilir.
Bu yapı bir şekilde faydalıdır: bir kişi TCKN'yi elle girerken yanlış yazarsa, büyük ihtimalle algoritma kontrolünden geçemez ve hata erken yakalanır.
Algoritmanın üç kuralı
1. Format
- 11 hane olmalı
- Tamamı rakam (0-9)
- İlk hane sıfır OLAMAZ
2. 10. hane — birinci kontrol rakamı
İlk 9 haneyi tek ve çift konumlara böl:
- Tek konumdakiler: 1, 3, 5, 7, 9 pozisyonları → d₁, d₃, d₅, d₇, d₉
- Çift konumdakiler: 2, 4, 6, 8 pozisyonları → d₂, d₄, d₆, d₈
Formül:
d₁₀ = (tek toplam × 7 − çift toplam) mod 10
3. 11. hane — ikinci kontrol rakamı
İlk 10 hanenin toplamının 10'a kalanı:
d₁₁ = (d₁ + d₂ + ... + d₁₀) mod 10
Örnek
TCKN: 12345678950
Haneler: 1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 0
Kontroller:
- Tek pozisyon toplamı: 1 + 3 + 5 + 7 + 9 = 25
- Çift pozisyon toplamı: 2 + 4 + 6 + 8 = 20
- d₁₀ kontrol: (25 × 7 − 20) mod 10 = (175 − 20) mod 10 = 155 mod 10 = 5 ✓
- İlk 10 toplamı: 1+2+3+4+5+6+7+8+9+5 = 50
- d₁₁ kontrol: 50 mod 10 = 0 ✓
Sonuç: algoritmik olarak geçerli.
Bu ne işe yaramaz?
Net olalım: algoritmik doğrulama sadece matematiksel kontrol. Verilen numaranın gerçek bir vatandaşa ait olup olmadığını söylemez. Bunu sadece NVİ (Nüfus ve Vatandaşlık İşleri) veritabanı söyleyebilir.
Yani:
- Formu yanlış doldurmayı engeller ✓
- Typo'yu yakalar ✓
- "Gerçek kişi mi?" sorusunu cevaplamaz ✗
Ciddi her sistem (banka, devlet, KYC yapan e-ticaret) NVİ entegrasyonu yapar.
Nerede kullanılır?
- Form validasyonu (kullanıcı yanlış girmiş olmasın)
- QA/test veri üretimi (çakışmasın diye fake TCKN)
- Algoritma öğrenme
- CSV import'larında ilk eleme
Hızlı kontrol
Elindeki bir TCKN'yi doğrulamak istersen TCKN Doğrulayıcı aracında tek tıkla kontrol edebilirsin. 11 haneyi yaz, yeşil tikse algoritmik geçerli.
Aracım tamamen tarayıcında çalışır — hiçbir sayı sunucuma gelmez, log'lanmaz.
Algoritmanın kısa tarihçesi
Bu yapı 2000'lerin başında MERNİS modernizasyonuyla birlikte standartlaştı. Check digit fikri yeni değil — ISBN, IBAN, kredi kartı gibi pek çok numaralandırma sisteminde benzer mantık var. Amaç aynı: insan hatasını matematikle yakalamak.
Güzel bir mühendislik: küçük bir matematiksel katman, milyonlarca formda yanlış giriş oranını ciddi azaltıyor.
Bu yazıda bahsedilen araç
TCKN Doğrulayıcı
T.C. Kimlik numarasını algoritmayla doğrula.