1
Şub

Kredi Kartı Checksum kontrolü

   Yazar: Ayhan ESEN   Kategori: Diğer Konular Okunma: 684

Kredi kartı olanlar daha iyi bilirler. Kredi kartı üzerindeki kart numarası öyle rast gele yazılmış bir numara değildir. Mesela kart numarasındaki ilk 4 rakam kartı çıkaran bankayı belirler. Son rakam ise checksum numarasıdır ve hatalar bu numara ile kontrol edilebilir. Minumum olarak kredi kartı kullanımını kabul eden yazılımlar bu checksumu kontrol edebilir. Tabi bu kontrol olayı online bir tanımla servisi ile kontrol edilmez.

Kısaca bu Checksum algoritmasından bahsetmek gerekirse;

Öncelikle karttaki her rakamı “weight” ile çarpıyoruz. “weight” 1,2,1,2 olarak değişir. Kredi kartındaki sayıların toplamı çift sayı ise 2 ile, değilse seri 1 ile başlar. “weight” işlemi ile uygulanan sayı 9 dan büyükse sonuç 9 çıkar. Sonuç olarak weight işlemi yapılan sayıları topluyoruz ve base-10 modülünü hesaplıyoruz. İşlemin doğru olması için sonuç 0 (sıfır) olmalı.

Konuyu daha iyi anlatmak için size bunun ile ilgili bir perl scripti örneği veriyorum. Sonuç olarak geçerli bir işlem için sonuç 1 (bir) tersi için 0 (sıfır) dönecektir.

Sub check_cc {
My $num = shift;
My $sum = 0;
My @digits = $num~/(\d)/g;
My @weights = (1,2) x (@digits/2 + 1);
Shift @weights unless @digits/2 +1);
Foreach (@digits) {
My $weighted = $_ * shift @weights;
$weighted -= 9 if $weighted > 9;
$sum += $weighted;
}
return ($sum % 10) == 0;
}

Ayhan ESEN

Bu yazı Lincoln D. Stein`in Web Security isimli kitabından alınmıştır.

Bu makaleyi bilgisayarınıza indirmek için buraya tıklayın

Bu yazı toplamda 684, bugün ise 1 kez görüntülenmiş

Etiketler: ,

Sırada Şunlar Var:

Bu yazı Cuma, Şubat 1, 2008 ,11:59 saatinde Diğer Konular kategorisine eklenmiştir. RSS Sonuçları, Yazılan Cevaplar, Geri İzleme

Siz De Cevap Yazın

Ad - Soyad (*)
Mail Adresi (gizli kalacaktır) (*)
Web Sitesi
Cevabınız

*
Yorumunuzu göndermek için aşağıdaki doğrulama kodunu boş kutuya yazınız. Eğer kodu göremiyorsanız, dinlemek için üzerine tıklayın.
Click to hear an audio file of the anti-spam word