Bilginin Adresi Ana Sayfa
Forum Anasayfası Forum Anasayfası > Bilgisayar Güvenliği / Computer Security > Güvenlik / Security Makaleleri
  Aktif Konular Aktif Konular RSS - Kredi Kartı Checksum kontrolü
  SSS SSS  Forumu Ara   Events   Kayıt Ol Kayıt Ol  GiriÅŸ GiriÅŸ

Kredi Kartı Checksum kontrolü

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
megabros Açılır Kutu Gör
Security Professional
Security Professional
Simge

Kayıt Tarihi: 08-06-2009
Konum: Turkey
Status: Aktif DeÄŸil
Points: 752
Mesaj Seçenekleri Mesaj Seçenekleri   Thanks (0) Thanks(0)   Alıntı megabros Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Kredi Kartı Checksum kontrolü
    Gönderim Zamanı: 29-03-2011 Saat 12:34

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.
WHİTE HAT
BEYAZ ŞAPKA (BİLGİ NEFERİ)
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu Gör



Bu Sayfa 0.172 Saniyede Yüklendi.