Kredi Kartı Anatomisi ve Luhn Algoritması
Cüzdanınızdaki o 16 haneli numara rastgele üretilmez. Her bir rakamın bir anlamı ve matematiksel bir dengesi vardır. Bu denge, Luhn Algoritması (Mod 10) ile sağlanır. Bu algoritma, bir kart numarasının geçerli bir kredi kartı numarası olup olmadığını (bankadan bağımsız olarak) doğrular.
Adım Adım Luhn Hesaplaması
Basit bir örnekle (4532 1234 5678 9012) formülün nasıl çalıştığını görelim:
- Adım 1: Numarayı sağdan sola doğru inceleyin. Son hane (Check Digit) hariç tutulur.
- Adım 2: Sağdan başlayarak her ikinci rakamı 2 ile çarpın.
- Adım 3 (Kritik): Eğer çarpma sonucu 9'dan büyükse (örneğin 8x2=16), bu sayının rakamlarını toplayın (1+6=7) veya 9 çıkarın (16-9=7).
- Adım 4: Elde edilen tüm rakamları ve hiç dokunmadığınız diğer rakamları toplayın.
- Sonuç: Toplamın son hanesi 0 ise (yani sayı 10'a tam bölünüyorsa) kart geçerlidir!
İlk Rakamın Sırrı (MII Kodları)
Kart numarasının ilk rakamı "Major Industry Identifier (MII)" olarak adlandırılır ve kartın hangi sektöre ait olduğunu gösterir:
| İlk Hane | Kart Şeması / Sektör |
|---|---|
| 3 | American Express / Diners Club (Seyahat & Eğlence) |
| 4 | Visa (Bankacılık) |
| 5 | Mastercard (Bankacılık) |
| 6 | Discover / Merchandising |
| 9 | TROY (Türkiye Ödeme Yöntemi) / Diğer Yerel Şemalar |
Check Digit (Kontrol Hanesi) Nedir?
Kart numarasının son rakamı check digit olarak adlandırılır. Bu rakam, Luhn algoritması ile hesaplanır; öncesindeki tüm rakamlar verildiğinde son hane tek bir değer alır. Bu sayede yazım hatası yapıldığında (yanlış rakam, iki rakamın yer değişmesi vb.) toplam 10'a tam bölünmez ve hata tespit edilir. Check digit olmadan herhangi 16 haneli numara "geçerli" sayılmaz; bu da sistemi güvenilir kılar.
IIN (BIN) Numarası Nedir?
Kartın ilk 6 (yeni standartla 8) hanesi "Bank Identification Number (BIN)" veya "Issuer Identification Number (IIN)" olarak bilinir. Bu kod sayesinde POS cihazı veya ATM şunları anlar:
- Kartı veren banka (Örn: İş Bankası, Garanti, Ziraat).
- Kartın tipi (Kredi Kartı mı, Banka Kartı mı, Ön Ödemeli mi?).
- Kartın seviyesi (Classic, Gold, Platinum, Black).
- Kartın ait olduğu ülke (TR, US, DE vb.).
BIN veritabanları güncel tutulmalıdır; bankalar yeni BIN aralıkları alabilir. Bu araç yaygın BIN aralıklarını tanır; nadir veya yeni bankalar listede olmayabilir. Luhn geçerli olsa bile banka bilgisi bulunamayabilir; bu durumda sadece "Luhn geçerli" sonucu gösterilir. Visa 4 ile, Mastercard 5 ile, Amex 3 ile başlar; TROY 9 ile başlayabilir.
Güvenlik İpuçları
CVV Kodu (Arkada)
Card Verification Value (CVV), manyetik şeritte yazılı değildir. Sadece kartın arkasında basılıdır. Bu, kartın fiziksel olarak elinizde olduğunu kanıtlamak için e-ticarette istenir.
3D Secure
Online alışverişte mutlaka 3D Secure (SMS onayı) kullanın. Bu sistem, kart bilgileriniz çalınsa bile telefonunuzdaki şifre olmadan işlem yapılmasını engeller.
Luhn Algoritması Nerede Kullanılır?
Sadece kredi kartları değil; IMEI numaraları (telefon), bazı ulusal kimlik numaraları, ISBN kodları ve diğer sağlama toplamı gerektiren sistemler Luhn veya benzeri checksum kullanır. Luhn, yazım hatası tespiti için tasarlanmıştır; sahtecilik veya güvenlik için değil. Son hane (check digit) bu algoritmayla hesaplanır; yanlış yazıldığında hemen yakalanır. Tek rakam hatalarını ve çoğu komşu rakam değişimini yakalar. Çoklu hata veya kasıtlı sahtecilik için yeterli değildir. PCI-DSS uyumlu ödeme sistemlerinde kart numarası girişinden sonra Luhn kontrolü standarttır; geçmeyen numara kabul edilmez.
Bu araç ile test kartlarınızı (geliştirme için kullanılan örnek numaralar) doğrulayabilirsiniz. Örneğin Visa test numarası 4532 1234 5678 9012 Luhn'dan geçer. Gerçek kart bilgilerinizi asla üçüncü taraflara vermeyin; bu araç sadece format kontrolü yapar, banka bilgisi vermez.
Güvenlik: Veriler Saklanıyor mu?
Hayır. Tüm işlem tarayıcınızda (client-side) gerçekleşir. Kart numaranız sunucularımıza gönderilmez, kaydedilmez veya loglanmaz. Sadece Luhn hesaplaması ve BIN tablosu eşleştirmesi yapılır. CVV, son kullanma tarihi veya PIN istenmez. Yine de halka açık bilgisayarlarda gerçek kart bilgisi girmeyin; klavye dinleme yazılımları risk oluşturabilir. E-ticaret sitelerinde 3D Secure kullanın; SMS veya banka uygulaması ile onay isteyin. Kartınız kaybolursa derhal bankayı arayıp bloke ettirin. Sanal kart kullanımı online alışverişte ek koruma sağlar.
Sıkça Sorulan Sorular
Kartım neden geçersiz?
Luhn testinden geçemiyorsa numara yanlıştır (yazım hatası vardır). Luhn testinden geçiyor ama POS'ta "Geçersiz Kart" diyorsa; kartın süresi dolmuş, limit yetersiz, banka tarafından bloke edilmiş veya yurtdışına kapalı olabilir.
Sanal kartın numarası farklı mı?
Evet. Sanal kartlar, ana kartınıza bağlı olsa da tamamen farklı bir 16 haneli numaraya, farklı bir son kullanma tarihine ve CVV koduna sahiptir. Sanal kartlar da Luhn algoritmasına uymak zorundadır.
Özet ve Pratik Kullanım
Kart numarasını boşluklu veya boşluksuz girin; otomatik doğrulama yapılır. Geçerli/geçersiz sonucu ve varsa banka/kart tipi bilgisi gösterilir. Luhn testinden geçmeyen numara yazım hatası içerir. Geçen numara gerçek ve kullanılabilir bir kart olduğunu garanti etmez; sadece format olarak geçerlidir. Ücretsiz, anında hesaplama; mobil uyumludur. Boşluklar otomatik temizlenir; tire veya diğer ayraçlar kaldırılarak sadece rakamlar kontrol edilir. Amex 15 hane, diğer kartlar genelde 16 hanedir. Eksik veya fazla hane girilirse geçersiz sonucu verilir. Bu araç geliştiriciler, test mühendisleri ve meraklı kullanıcılar için uygundur. Veri saklanmaz; tarayıcıda işlenir. Güvenli kullanım için 3D Secure ve sanal kart kullanımını öneririz. Luhn testi tüm dünyada standarttır. Kayıt gerekmez. Anında sonuç alırsınız. Ücretsiz ve reklamsızdır.