Luhn Algoritma Kontrolcüsü
Luhn yalnızca kontrol hanesini doğrular, kartın aktif olduğunu doğrulamaz.
Luhn algoritması (ISO/IEC 7812-1), kredi kartı numaralarını, IMEI cihaz tanımlayıcılarını, Kanada SIN’lerini, ABD NPI’lerini ve diğer bazı sayılandırma sistemlerini tek haneli yazım hatalarından koruyan bir kontrol toplamıdır. Bir rakam dizisini (boşluklar ve çizgiler göz ardı edilir) ekleyin; algoritma sayının geçip geçmediğini gösterir ve çiftleme ile toplama adımlarını gerçekleştirerek isterseniz elle doğrulayabilirsiniz.
Luhn kontrolünün nasıl hesaplandığı
-
1
Rakam olmayan karakterleri kaldır
Boşluklar, çizgiler ve noktalar kaldırılır. Yalnızca 0–9 aralığındaki rakamlar sayılır.
-
2
Sağdan itibaren her ikinci rakamı iki katına çıkarın.
Sonundan bir önceki hâle başlayarak, her ikinci rakam iki katına çıkarılır.
-
3
Her iki katlanan değerin rakamlarını toplayın.
Eğer iki katlanma sonucu 14 olursa, 1 + 4 = 5 ekleyin. Bu durum, herhangi bir iki katlanma sonucu 10'un üzerindeyken bu değerden 9'u çıkarmakla eşdeğerdir.
-
4
Elde edilen tüm değerleri topla
Katlanıp indirgenmiş rakamları, dokunulmamış rakamlarla toplayın.
-
5
10'a bölünebilirliğini kontrol edin
Eğer toplam 0 ile bitiyorsa sayı geçerlidir; aksi takdirde geçersizdir.
Uygulama örneği
4539 1488 0343 6467’yi kontrol edin:
| Konum (sağdan sola) | Rakam | İki katına çıktı mı? | Değer |
|---|---|---|---|
| 1 | 7 | hayır | 7 |
| 2 | 6 | evet | 12 → 3 |
| 3 | 4 | hayır | 4 |
| 4 | 6 | evet | 12 → 3 |
| 5 | 3 | hayır | 3 |
| 6 | 4 | evet | 8 |
| 7 | 3 | hayır | 3 |
| 8 | 0 | evet | 0 |
| 9 | 8 | hayır | 8 |
| 10 | 8 | evet | 16 → 7 |
| 11 | 4 | hayır | 4 |
| 12 | 1 | evet | 2 |
| 13 | 9 | hayır | 9 |
| 14 | 3 | evet | 6 |
| 15 | 5 | hayır | 5 |
| 16 | 4 | evet | 8 |
Toplam: 80. 80 mod 10 = 0 → geçerlidir.
Luhn nerede kullanılır
| Sistem | Uzunluk | Luhn tarafından korunuyor mu? |
|---|---|---|
| Visa, Mastercard, Discover | 13–19 rakam | evet |
| American Express | 15 rakam | evet |
| IMEI (GSM cihazı kimliği) | 15 haneli | evet |
| Kanada Sosyal Sigortası | 9 rakamlı | evet |
| ABD Ulusal Tedavi Sağlayıcısı Tanımlayıcısı | 10 rakamlı | evet |
| İsrail Kimlik Numarası (Teudat Zehut) | 9 rakamlı | evet |
| ISBN-13 | 13 rakamlı | hayır (ağırlıkları 1 ve 3 olan mod 10 kullanılır) |
Luhn neyi tespit eder, neyi kaçırır
- Tespit eder: tüm tek haneli hataları ve komşu rakamların çoğu (ancak tümü değil) yer değiştirmesini.
- Kaçırır: 09 ↔ 90 yer değiştirmesi ve buna benzer birkaç çift. Bu bir yazım hatası kontrolüdür, güvenlik kontrolü değildir.
- Bir güvenlik özelliği değildir. Luhn’a uygun bir numara oluşturmak kolaydır. Ödeme ağ geçitlerinde PAN doğrulaması yalnızca Luhn’u değil; aynı zamanda ihraççı aralıklarını, CVV, AVS ve 3-D Secure gibi yöntemleri de kullanır.
Sık Sorulan Sorular
Hayır. Luhn yalnızca numaranın matematiksel olarak doğru olup olmadığını doğrular; kartın verilip verilmediği, içinde para bulunup bulunmadığı veya çalınmış olup olmadığı konusunda hiçbir bilgi vermez. Gerçek doğrulama işlemi, yetkilendirme sırasında kart veren kurumda gerçekleşir.
Evet, son rakam kontrol hanesidir ve toplamı her zaman 10’a bölünebilir hale getirecek şekilde seçilebilir. IMEI üreticileri ve test kart numaraları da bu şekilde çalışır.
Bu yöntem, tüm tek haneli yer değiştirme ve çoğu komşu haneli yer değiştirmeyi tespit eder; ancak bazı çiftler (örneğin 09 ↔ 90) kontrol toplamını değişmez bırakır. Daha güçlü yöntemler (ISBN-13, Verhoeff, Damm), karmaşıklığı artırmakla birlikte daha yüksek hata kapsama kapasitesi sağlar.
Checker tamamen tarayıcınızda çalışır; bu nedenle hiçbir veri iletilmez. Ancak gereksiz yerlere canlı PAN verilerini yapıştırmak kötü bir alışkanlıktır. Deneylerde test numaraları (örneğin 4242 4242 4242 4242) kullanın.
Luhn her uzunlukta kullanılabilir; ancak belirli şemalar için standartlaştırılmıştır (genellikle 9–19 rakamlıdır). Bu kontrol mekanizması uzunluğu sınırlamaz.
İlgili Araçlar
ASCII Tablosu Referansı
NUL, LF ve DEL dahil her kod için ondalık, onaltılık, sekizlik ve ikili değerlerle HTML sayısal karakter başvurusu gösterimini sunan tam ASCII tablosu.
HTML Karakter Referansı
HTML varlıklarının aranabilir listesi; adlandırılmış ve sayısal kodlarıyla birlikte özel karakter ve semboller için tek tıkla kopyalama.
Klavye kısayolları başvurusu
macOS, Windows ve Linux’ta VS Code, Chrome ve GNU Readline kullanan Bash için belgelenmiş varsayılan kısayolları arayın.
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
EditorConfig Oluşturucu
Girinti stili ve boyutu, satır sonu, karakter kümesi ve boşluk kurallarınızla bir .editorconfig dosyası oluşturarak IDE ve editörler arasında tutarlı biçimlendirme sağlayın.
E-posta Doğrulayıcı
Bir e-posta adresini doğrulayın: RFC 5322 sözdizimi kontrolü, canlı MX kaydı sorgulama, ayrıca yerel kısım, alan adı ve uzunluk bilgileri. Hiçbir e-posta gönderilmez.
Araç diğer dillerde mevcuttur
- Pemeriksa Algoritma Luhn [ID]
- Walidator algorytmu Luhna [PL]
- เครื่องตรวจสอบอัลกอริทึมของ Luhn [TH]
- Trình kiểm tra thuật toán Luhn [VI]
- Validador do Algoritmo de Luhn [PT]
- Luhn-Algorithmus-Prüfer [DE]
- Verificador del Algoritmo de Luhn [ES]
- أداة فحص خوارزمية Luhn [AR]
- Luhnアルゴリズムチェッカー [JA]
- Vérificateur d'algorithme de Luhn [FR]
- Luhn 알고리즘 검사기 [KO]
- Luhn-algoritmens kontrollverktyg [SV]
- Luhn-algoritme-checker [NL]
- Luhn Algorithm Checker [EN]
- Controllore dell'Algoritmo di Luhn [IT]
- Проверка по алгоритму Луна [RU]
- Luhn 算法校验工具 [ZH]