Categories: Güvenlik

Kredi Kartı Checksum Kontrolü

Kredi kartı numaraları göründükleri kadar rastgele numaralar değildirler. İlk 4 rakam kartı çıkaran bankayı belirler. Son rakam checksum’dır ve hatalar buna göre kontrol edilebilir. Minimum olarak kredi kartı kabul eden yazılımlar bu checksum’ı kontrol edebilir. Tabik ki bu kredi kartı numarasını online bir kimlik tanılama servisi ile kontrol etmekle karşılaştırılamaz.

Checksum algoritması:
Karttaki her rakamı ‘weight’i ile çarp. Weight 1,2,1,2 olarak değişir. Rakamlarının sayısı çift olan bir kart için seri 2 ile, aksi durumda 1 ile başlar.



  1. Weight işlemi uygulanan sayı 9 dan büyükse 9 çıkar.
  2. Weight işlemi uygulanmış rakamları topla ve base-10 modulus’ünü hesapla.
  3. Sonuç 0 a eşit olmalı.


İşte bir kredi kartı numarasının geçerliliğini kontrol edecek bir perl script’i. Geçerli bir numara için ‘1’ tersi için ‘0’ 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;
}

belgesi-315
Belgeci

Share
Published by
Belgeci

Recent Posts

Dahilerin Beyin Sistemi

Albert Einstein, Charles Darwin, Wolfgang Amadeus Mozart ve Pablo Picasso gibi dünyayı etkilemiş dahilerin beyinlerinin…

12 dakika ago

Kişilik Tipleri

Çeşitli kişilik testleri belli gruptan insanlar  arasındaki benzerlikleri vurgular. Yine de, diğerleriyle olan tüm benzerliklerine…

12 saat ago

BİOGAZ

İnsanoğlunun çok süratli bir şekilde artan ihtiyaçlarına cevap veren sosyal ve endüstriyel gelişmeler, beraberinde bazı…

1 gün ago

Boşaltım Sistemi

Boşaltım sistemi vücutta homeostazın sağlanmasında çok önemli bir yere sahiptir.Böbrekler, üreterler ve mesaneden oluşan boşaltım…

2 gün ago

Atatürk ve Spor

Büyük Atatürk'ün ölümünü takip eden günlerde, o zamanlar yalnız Avrupa'nın değil, dünyanın en güçlü günlük…

2 gün ago

Atatürk’ün Hayatı

 Mustafa Kemal Atatürk 1881 yılında Selânik'te Kocakasım Mahallesi, Islâhhâne Caddesi'ndeki üç katlı pembe evde doğdu.…

3 gün ago