Kredi Kartı Numarası Doğrulama – Lhun Algoritması

Haz?rlad???m?z sistemde/sitede kredi kart? i?lemleri olabilir. Normal ?artlar alt?nda al??veri? siteleri bankalarla anla?malar yaparak sanal pos al?yorlar. Bu sanal pos kodlar? zaten bu kontrolu bankalar?n sistemleri yard?m?yla yap?yor. Hem bu kontrolün nas?l yap?ld???n? ö?renmek hem de siz numaray? göndermeden önce kendi sisteminizde de kontrol etmek isteyebilirsiniz. Bunun için genel kredi kart? numaras? algoritmas? olan Lhun Algoritmas? kullan?lmaktad?r. Bu konu daha detayland?r?labilir. Visa m?? MasterCard m?? diye sorgulamak isteyebilirsiniz. Her kart türününün kendi içinde bir mant??? vard?r. Örne?in, mastercard türündeki kredi kart?n?n ilk iki hanesi 50 ya da 55 olmak zorundad?r. Bunun gibi çe?itlerin mant??? art?r?labilir fakat ben genel algoritmay? anlataca??m.

Lhun algoritmas? ?u ?ekilde çal??maktad?r:

  1. Kredi kart? numaras?n?n en sa?dan ikinci karakterinden ba?lanarak iki?er s?ra ara ile her rakam?n iki kat? al?n?r.
  2. ?ki?er kat? al?nan say?lar birbirleri ile toplan?r.
    •  Ufak bir ayr?nt? var: iki kat? al?nan say?lar?n aras?nda 10 ve 10’dan büyük olan var ise bunlar?n basamaklar? toplan?r.
    • Örne?in; rakam?m?z 8. iki kat?n? ald?k:16. Bu say? (1+6) ?eklinde i?leme al?n?r ve o haliyle genel toplama eklenir.

     

  3. Kalan rakamlar ise kendi aral?nda toplan?r ve ikinci bir toplam de?eri elde edilir.
  4. Son olarak bu iki toplam de?eri toplan?r ve 10 ile bölümünden kalan olup olmad???na bak?l?r. Ba?ka bir deyimle 10’a göre modüleri al?n?r.
  5. E?er toplam de?erin 10 ile bölümünden kalan 0 ise say? dizisi geçerli bir kredi kart? numaras?d?r. 0 de?il ise geçerli bir kredi kart? de?ildir.

Resim ile daha aç?klay?c? olacakt?r. ?nceleyelim:

mk144_1

Elinizdeki kredi kartlar? ile de deneyip sonucu de?erlendirebilirsiniz.

Bu yazı Algoritma, Programlama kategorisine gönderilmiş ve , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Kredi Kartı Numarası Doğrulama – Lhun Algoritması için 1 cevap

  1. fulya der ki:

    yaptığınız şey gerçekten harika bir şey.çok teşekkür ederim işime yaradı. yalnız C# ile bunun kodlarını yazmam gerekiyor yardımcı olur musunuz ?

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir