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
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.
Webpack Yapılandırma Oluşturucu
Saf JavaScript, React veya Vue için webpack 5 uyumlu bir webpack.config.js oluşturun: TypeScript, Babel, CSS veya Sass, görseller, HtmlWebpackPlugin, geliştirme sunucusu ve npm install satırı.
Kurgusal telefon numarası oluşturucu
Beş ülkede resmen ayrılmış aralıklardan 50 adede kadar kurgusal numara üretin.
Tamamlayıcı Renk Bulucusu
Her girdi için tamamlayıcı renk belirleyin. HSL açısından tersi renk, bölünmüş tamamlayıcı çifti ve erişilebilir kombinasyonlar için öneriler geri verir.
Dosya Boyutu Dönüştürücü
Bayt, KB, MB, GB, TB ve ikili IEC birimleri (KiB, MiB, GiB, TiB) arasında, ondalık ve ikiliyi dilediğiniz gibi birleştirerek dönüşüm yapın.
Telefon numarası doğrulayıcı
Telefon numarasının ülkeye göre yapısını denetleyin; bölge, tür, E.164, uluslararası, ulusal ve RFC 3966 biçimlerini görün.
Araç diğer dillerde mevcuttur
- Walidator algorytmu Luhna [PL]
- เครื่องตรวจสอบอัลกอริทึมของ Luhn [TH]
- Verificador del Algoritmo de Luhn [ES]
- Luhnアルゴリズムチェッカー [JA]
- Trình kiểm tra thuật toán Luhn [VI]
- Luhn 알고리즘 검사기 [KO]
- Vérificateur d'algorithme de Luhn [FR]
- Validador do Algoritmo de Luhn [PT]
- Luhn-algoritmens kontrollverktyg [SV]
- أداة فحص خوارزمية Luhn [AR]
- Luhn-Algorithmus-Prüfer [DE]
- Pemeriksa Algoritma Luhn [ID]
- Luhn-algoritme-checker [NL]
- Проверка по алгоритму Луна [RU]
- Luhn 算法校验工具 [ZH]
- Luhn Algorithm Checker [EN]
- Controllore dell'Algoritmo di Luhn [IT]