Kredi Kartı Checksum kontrolü

Bilgisayarınızı Her Türlü Saldırıya Karşı Korumak İçin Yapmanız Gerekenler
Cevapla
megabros
Mesajlar: 0
Kayıt: Sal Şub 24, 2026 11:31 am
İletişim:

Kredi Kartı Checksum kontrolü

Mesaj gönderen megabros »

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.

Weight işlemi uygulanan sayı 9 dan büyükse 9 çıkar.
Weight işlemi uygulanmış rakamları topla ve base-10 modulus’ünü hesapla.

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;
}

Saygılar.
Cevapla

“Güvenlik / Security Makaleleri” sayfasına dön

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir