3 bước để kiểm tra thẻ tín dụng
5434-8434-2900-1033
Đây có phải là số card đúng không? Chúng ta hãy kiểm tra nó.
Bước 1: kiểm tra loại card
5434-8434-2900-1033 (length = 16)
Đây có thể là thẻ MasterCard - National Westminster Bank
Bước 2: kiểm tra công thức Luhn (mod
10)
- lần lượt lấy các chữ số ở vị trí lẽ nếu lenght chẵn hoặc các chữ số ở vị
trí chẵn nếu length là lẽ nhân cho 2
5 4 3 4 8 4 3 4 2 9 0 0 1 0 3 3
x2 x2 x2 x2 x2 x2 x2 x2
---------------------------------------
10 6 16 6 4 0 2 6
- tính tổng: (1+0) + 4 + (6) + 4 + (1+6) +
4 + (6) + 4 + (4) + 9 + (0) + 0 + (2) + 0 +
(6) + 3 = 60
- lấy tổng tính được mod cho 10, nếu số dư bằng 0 nghĩa là đúng, nếu khác 0
nghĩa là sai.
60 mod 10 = 0 - Luhn Check Digit: passed.
Bước 3: kiểm tra checksum
- lần luợt lấy các chữ số ở vị trí lẽ nhân cho 2 ngoại trừ chữ số cuối
cùng
5 4 3 4 8 4 3 4 2 9 0 0 1 0 3
x2 x2 x2 x2 x2 x2 x2 x2
---------------------------------------
10 6 16 6 4 0 2 6
- tính tổng(*): (1+0) + 4 + (6) + 4 +
(1+6) + 4 + (6) + 4 + (4) + 9 + (0) + 0 +
(2) + 0 + (6) = 57
- tính tổng các chữ số của tổng(*)
5 + 7 = 12
- lấy kết quả trên nhân cho 10 rồi trừ cho tổng(*), sau đó mod 10, nếu số dư
bằng chữ số cuối cùng của card number nghĩa là đúng, nếu khác nghĩa là sai.
(12 x 10 - 57) % 10 = 3 - Checksum: passed.
5434-8434-2900-1033 - đây là số card hợp lí
Ví dụ 2 : 4128-674-342-188 - hợp lí
- prefix = 4, length = 13 - Valid Visa CV - Citibank
-
4221661446441168 = 60, (60 mod 10) =
0
- 814837838228 = 62, 6 + 2 = 8,
(8 x 10 - 62) % 10 = 8
Tuy nhiên bạn chỉ có thể kiểm tra xem số card đúng hay sai thôi. Để sử dụng
card, bạn cần biết thêm thông tin khác về card như người sở hữu card, địa chỉ và
số phone của anh(chị) ta, ...
5434-8434-2900-1033
Đây có phải là số card đúng không? Chúng ta hãy kiểm tra nó.
Bước 1: kiểm tra loại card
Type | Prefix | Length |
MASTERCARD | 51-55 | 16 |
VISA | 4 | 13, 16 |
AMEX | 34 37 | 15 |
Diners Club/ Carte Blanche | 300-305 36 38 | 14 |
Discover | 6011 | 16 |
enRoute | 2014 2149 | 15 |
JCB | 3 | 16 |
JCB | 2131 1800 | 15 |
Đây có thể là thẻ MasterCard - National Westminster Bank
Bước 2: kiểm tra công thức Luhn (mod
10)
- lần lượt lấy các chữ số ở vị trí lẽ nếu lenght chẵn hoặc các chữ số ở vị
trí chẵn nếu length là lẽ nhân cho 2
5 4 3 4 8 4 3 4 2 9 0 0 1 0 3 3
x2 x2 x2 x2 x2 x2 x2 x2
---------------------------------------
10 6 16 6 4 0 2 6
- tính tổng: (1+0) + 4 + (6) + 4 + (1+6) +
4 + (6) + 4 + (4) + 9 + (0) + 0 + (2) + 0 +
(6) + 3 = 60
- lấy tổng tính được mod cho 10, nếu số dư bằng 0 nghĩa là đúng, nếu khác 0
nghĩa là sai.
60 mod 10 = 0 - Luhn Check Digit: passed.
Bước 3: kiểm tra checksum
- lần luợt lấy các chữ số ở vị trí lẽ nhân cho 2 ngoại trừ chữ số cuối
cùng
5 4 3 4 8 4 3 4 2 9 0 0 1 0 3
x2 x2 x2 x2 x2 x2 x2 x2
---------------------------------------
10 6 16 6 4 0 2 6
- tính tổng(*): (1+0) + 4 + (6) + 4 +
(1+6) + 4 + (6) + 4 + (4) + 9 + (0) + 0 +
(2) + 0 + (6) = 57
- tính tổng các chữ số của tổng(*)
5 + 7 = 12
- lấy kết quả trên nhân cho 10 rồi trừ cho tổng(*), sau đó mod 10, nếu số dư
bằng chữ số cuối cùng của card number nghĩa là đúng, nếu khác nghĩa là sai.
(12 x 10 - 57) % 10 = 3 - Checksum: passed.
5434-8434-2900-1033 - đây là số card hợp lí
Ví dụ 2 : 4128-674-342-188 - hợp lí
- prefix = 4, length = 13 - Valid Visa CV - Citibank
-
4221661446441168 = 60, (60 mod 10) =
0
- 814837838228 = 62, 6 + 2 = 8,
(8 x 10 - 62) % 10 = 8
Tuy nhiên bạn chỉ có thể kiểm tra xem số card đúng hay sai thôi. Để sử dụng
card, bạn cần biết thêm thông tin khác về card như người sở hữu card, địa chỉ và
số phone của anh(chị) ta, ...