Paten atau kaedah yang ditunjukkan merupakan standard yang diguna pakai oleh semua bank-bank di dunia untuk menjana nombor kad kredit bagi pengeluaran kad kredit kepda pemilik atau pemohon. Setiap jenis kad kredit mempunyai digit pengenalan di hadapan yang mewakili jenis syarikat yang mengeluarkan kad kredit seperti Visa atau Mastercard.

Dalam sistem laman web seperti e-commerce atau kedai jualan atas talian, algoritma yagn digunakan ini membenarkan sistem membuat tapisan awal terhadap kesahihan nombor kad kredit yang akan dimasukkan. Walau bagaimanapun, sistem masih perlu mencapai pangkalan data kad kredit dunia untuk pengesahan padanan nombor kad kredit dan nama yang tertera pada kad kredit termasuk beberapa maklumat lain seperti tarikh luput dan kod sekuriti.

Setiap nombor kad kredit akan dijana menerusi penggunaan algoritma Luhn (formula Luhn).

Formula Luhn juga dikenali sebagai "modulus 10" atau "mod 10". Modulus adalah satu kitaran aritmatik penomboran dalam Matematik yang "berpusing" dalam satu ruang sehingga mencapai satu nilai. Sebagai contoh, jam tangan yang mempunyai petunjuk 1 hingga 12 sebagai tandaan masa. Apabila kitaran masa merantau dari titik 12 kembali semula ke 12, kita boleh takrifkan ianya kembali kepada satu kitaran yang baru, atau membawa satu nilai 0. Keadaan ini selalunya ditulis 12:00 am/pm. Oleh itu, jam tangan kita sebenarnya menggunakan "modulus 12".

Contoh di atas adalah bahasa mudah untuk menerangkan maksud "modulus". Dalam kes formula Luhn, "modulus 10" digunakan untuk memeriksa kesahihan nombor kad kredit.

Mengesahkan nombor kad kredit

Katakan kita mempunyai satu nombor kad kredit Visa seperti berikut: 4539-3074-6714-3542

Nombor kad kredit ini adalah tidak sah selagi tiada padanan dengan nama pemilik kad untuk pengesahan sebenar.

Mengikut formula Luhn:

  1. nombor terakhir digugurkan/dibuang. Nombor ini akan digunakan untuk pengesahan diperingkat akhir.
  2. terbalikkan susunan nombor
  3. darabkan kedudukan nombor ganjil (1, 3, 5 dan seterusnya) dengan 2. Nilai yang lebih besar daripada 9 perlu ditambah kedua-dua digit untuk menghasilkan satu digit.
  4. tambahkan keseluruhan nombor
  5. padankan nombor terkahir dengan hasil tambah (4) menggunakan Modulo 10.

Contoh:

Langkah   Jumlah
Nombor asal 4 5 3 9 3 0 7 4 6 7 1 4 3 5 4 2  
Gugur nombor akhir 4 5 3 9 3 0 7 4 6 7 1 4 3 5 4    
Terbalikkan susunan 4 5 3 4 1 7 6 4 7 0 3 9 3 5 4    
Darabkan 2 susunan ganjil 8 5 6 4 2 7 12 4 14 0 6 9 6 5 8    
Nilai lebih 9 ditambah 8 5 6 4 2 7 3 4 5 0 6 9 6 5 8    
Tambahkan semua nombor 8 5 6 4 2 7 3 4 5 0 6 9 6 5 8   78

Sekarang, kirakan modulus 10 untuk nilai tambah 78 menggunakan antara dua kaedah berikut:

Kaedah #1

  1. Darabkan hasil tambah dengan 9; 78 x 9 = 702
  2. Ambil digit terakhir hasil darab tersebut, iaitu 2
  3. Padankan dengan digit akhir nombor asal kad kredit; maka nombor kad kredit tadi adalah sah.

Kaedah #2

  1. Dapatkan hasil tambah semua digit; iaitu 78
  2. Ambil digit terakhir hasil tambah; iaitu 8
  3. Tolakkan nilai digit ini dengan 10 (mod 10); iaitu 10 - 8 = 2
  4. Padankan dengan digit terakhir; maka nombor kad kredit tadi adalah sah.

Jenis-jenis pengeluar kad kredit

Seperti di awal artikel ini, kita boleh mendapatkan maklumat pengeluar kad kredit berdasarkan kepada maklumat seperti berikut:

Pengeluar kad kredit Nombor bermula dengan Panjang (Bilangan digit)
American Express 34, 37 15
Diners Club - Carte Blanche 300, 301, 302, 303, 304, 305 14
Diners Club - International 36 14
Diners Club - USA & Canada 54 16
Discover 6011, 622126 to 622925, 644, 645, 646, 647, 648, 649, 65 16
InstaPayment 637, 638, 639 16
JCB 3528 to 3589 16
Laser 6304, 6706, 6771, 6709 16-19
Maestro 5018, 5020, 5038, 5893, 6304, 6759, 6761, 6762, 6763 16-19
MasterCard 51, 52, 53, 54, 55 16-19
Visa 4 13-16
Visa Electron 4026, 417500, 4508, 4844, 4913, 4917 16

Daripada maklumat ini, anda boleh mencipta aturcara dalam pelbagai bahasa untuk memeriksa dan mengesahkan nombor kad kredit serta pengeluar kad kredit.

Artikel: 
Penilaian: 
Your rating: None Average: 5 (1 vote)