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

Fecr-i ati Edebiyatı

FECRİ ATİ EDEBİYATI   Servet-i fünun edebiyatının devamı niteliğinde olan fecr-i ati topluluğu,1909 yılında ortaya…

3 saat ago

İlk Cep Telefonu

ÖZELLİKLER: Boyut: 28x8x6 cm Ağırlık: 850gr Ekran: Yok Devre sayısı: 30 Konuşma süresi: 35 dakika…

15 saat ago

Basic Grammar-Questions

There are two kinds of questions: yes or no questions and wh- questions. You ask…

1 gün ago

Basic Grammar-Positive And Negative Sentences

A positive sentence tells you that something is so. A sentence that tells you something…

2 gün ago

Basic Grammar-The Imperative

Use the base form of a verb to give commands or make direct requests. This…

2 gün ago

Basic Grammar-Sentences

A sentence is a group of words that expresses a complete thought. A sentence must…

3 gün ago