You are on page 1of 2

Bu yazıda kredi kartlarının doğrulamasının nasıl yapıldığını anlatacağım.

Bu işlem
herhangi bir para işleminde bankaya sorgu göndermeden kredi kartının doğru
olup olmadığını kontrol etmede kullanılabilir.

Aşağıdaki tabloda, MasterCard ve Visa kredi kartlarının hane bilgilerini


görebilirsiniz:

Kart Türü Başlangı Uzunluk Hane kontrol


ç (basamak) algoritması
MASTERCARD 51-55 16 mod 10
VISA 4 13, 16 mod 10

Kredi kart no kontrolünde Luhn 10 Algoritması kullanılabilir. Bu algoritma oldukça


basit bir algoritmadır. Sadece x adımla bu işlemi yapabilirsiniz:

1. Sayının en sağ basamağı 1 olarak numaralandırılır.

2. En sağdan başlamak üzere her ikinin katı olan basamak numarasının sayı
değeri 2 ile çarpılır.

3. Çarpılan sayılar içerisinde 9’dan büyük sayılar varsa bunlar da


basamaklarına ayrılır.

4. Tüm yeni değerler ve çarpılmayan sayılar aralarında toplanır. Toplanan


sayı 10’un katı ise (MOD10=0 ise) numara geçerlidir.

Örneğin:

4741 1601 811 7425 (Bilinen bir kart değildir :) )

Ayrılan
Basamak Sayı Çarpılan sayıların Sayıların
Numarası değeri sayı Sonuc toplamı toplamı
1 5 5 5
2 2 2 4 4
3 4 4 4
4 7 2 14 1+4=5 5
5 1 1 1
6 1 2 2 2
7 8 8 8
8 1 2 2 2
9 0 0 0
10 6 2 12 1+2=3 3
11 1 1 1
12 1 2 2 2
13 4 4 4
14 7 2 14 1+4 5
15 4 4 4
16 0 2 0 0

5+4+4+5+1+2+8+2+0+3+1+2+4+5+4+0=50
50/10=5 - Kalan= 0

Sayı geçerli bir sayı…

Dikkat edilmesi gerekenler.

• Sayı basamaklarını numaralandırmaya sağdan başladık

• İlk haneye sıfır değil bir sayısını verdik.

• İki basamaklı sayıları da kendi aralarında basamaklarını toplayarak asıl


toplama kattık.

• Eğer sayı 15 basamaktan uzun olsaydı aynı işlemi 16. Basamak için
yapacaktık (ve çift olduğu için x2 yapılacaktı). Yazılan örnek 15 basamaklı
olduğu için bu basamak 0 olarak kabul edilebilir.

Kaynaklar:

http://www.beachnet.com/~hstiles/cardtype.html

Volkan Gezer

You might also like