Thuật toán vui: làm sao mà anh chị em ta biết thẻ tín dụng nhập đúng hay sai?

07/10/2025 08:45
Thuật toán vui: làm sao biết thẻ tín dụng nhập đúng hay sai mà không cần liên lạc nhà bank
Hiện nay, thẻ tín dụng giờ đã trở thành một vật dụng quen thuộc với hầu hết mọi người. Mỗi lần cần thanh toán online, anh em chỉ cần gõ dãy số in trên thẻ, điền CCV, sau đó có thể nhập OTP là hoàn thành giao dịch. Tuy nhiên, đã bao giờ anh em thắc mắc những con số trên thẻ có ý nghĩa gì không Liệu có quy tắc nào để tạo ra chúng, và tại sao hệ thống thanh toán có thể phát hiện ra lỗi gõ sai ngay lập tức mà không cần gửi yêu cầu kiểm tra về ngân hàng?
credti-card.jpg
Thẻ tín dụng đã trở thành một phần quan trọng trong cuộc sống của loài người

Trên thực tế, có một quy tắc toán học đơn giản là thuật toán Luhn để kiểm tra số thẻ tín dụng. Mà không chỉ thế, nhiều mã số khác trong cuộc sống cũng được kiểm tra bằng toán học, ví dụ như mã vạch sản phẩm, số theo dõi bưu kiện, số tài khoản ngân hàng hoặc ISBN sách đều dùng các thuật toán kiểm tra tính hợp lệ tương tự Luhn để phát hiện lỗi nhập liệu.

Thoạt nhìn, dãy số trên thẻ tín dụng chỉ như một chuỗi ký tự ngẫu nhiên. Nhưng thực tế, chúng được sắp xếp có cấu trúc rõ ràng. Chữ số đầu tiên của thẻ cho anh em biết loại tổ chức phát hành (Major Industry Identifier). Ví dụ như thẻ Visa luôn bắt đầu bằng số 4, thẻ MasterCard thì thường bắt đầu bằng số 5, và thẻ Discover luôn mở đầu bằng số 6.


credit-card-structure.jpeg
Cấu trúc thẻ tín dụng. Ví dụ thẻ này, bỏ số check digit đi sẽ còn 4024 6072 3695 074

Năm đến bảy chữ số tiếp theo xác định ngân hàng hoặc tổ chức tài chính phát hành thẻ (Issuer Identifier). Sau đó là phần dành cho số tài khoản cá nhân của bạn trong ngân hàng đó. Và quan trọng nhất: con số cuối cùng, gọi là “check digit”, không liên quan gì đến tài khoản hay ngân hàng, mà được thêm vào chỉ để phục vụ cho một bài toán kiểm tra tính hợp lệ thông qua thuật toán Luhn.

Về mặt kỹ thuật, các tổ chức phát hành sẽ chọn số tài khoản cá nhân trước, rồi dùng thuật toán Luhn tính toán ra số “check digit” sao cho cả dãy số thỏa mãn điều kiện toán học kiểm tra, chứ không phải lấy ngẫu nhiên như chúng ta lầm tưởng.

Như vậy, việc check digit được tạo ra dựa trên thuật toán Luhn. Thuật toán này do nhà nghiên cứu Hans Peter Luhn của IBM phát minh và đăng ký bằng sáng chế vào năm 1960. Thuật toán này vô cùng đơn giản nhưng hiệu quả. Nguyên lý như sau:

  • Bỏ qua chữ số cuối cùng, lấy toàn bộ dãy số còn lại.
  • Bắt đầu từ phải sang trái, nhân đôi mỗi chữ số ở vị trí cách một.
  • Nếu phép nhân đôi cho ra số có hai chữ số, cộng gộp các chữ số đó lại (ví dụ 7 x 2 = 14 thì tính 1 + 4 = 5).

  • Cộng tất cả lại với check digit. Nếu tổng chia hết cho 10, số thẻ hợp lệ; nếu không, hệ thống sẽ báo lỗi.
luhn-algorithm-graphic-d2-TEXT.jpeg
Như trong hình này, với số thẻ ví dụ ở trên, anh em bỏ số cuối cùng (check digit ra). Sau đó từ phải qua trái, bắt đầu từ số 4, cứ cách 1 số thì sẽ nhân hai. Rồi tính tổng lại tất cả lại. Nếu phép nhân cho ra kết quả là 18, anh em lấy 1 + 8

Mình đã thử với mấy thẻ tín dụng của mình và thấy là tổng đều chia hết cho 10. Điểm thú vị mà anh em có thể thấy được là giải thuật này chỉ bao gồm các phép tính cơ bản như nhân và cộng. Vì thế, nó được tích hợp sẵn trong phần mềm xử lý giao dịch mà không cần gọi qua bên thứ ba. Điều này giúp tiết kiệm thời gian và chi phí cho doanh nghiệp.

Cơ chế này giúp phát hiện hầu hết lỗi thường gặp khi nhập số thẻ: gõ nhầm một con số hoặc hoán đổi hai con số liền kề. Chẳng hạn, nếu bạn nhập 6 thành 5, tổng sẽ thay đổi và lập tức không còn chia hết cho 10. Tuy nhiên, có một ngoại lệ duy nhất là khi đổi chỗ 0 và 9: tức 09 đổi thành 90), tổng vẫn giữ nguyên.

QUẢNG CÁO


Theo nghiên cứu của nhà toán học Jacobus Verhoeff, 90% lỗi nhập số thực tế là nhầm một số hoặc hoán đổi hai số cạnh nhau. Thuật toán Luhn bắt được gần hết các trường hợp này ngoại trừ 09/90.
Để khắc phục, nhà toán học Jacobus Verhoeff năm 1969 đã phát triển một thuật toán phức tạp hơn, có thể phát hiện cả trường hợp 09/90 cùng nhiều lỗi tinh vi khác. Dù vậy, Verhoeff không phổ biến vì độ phức tạp cao, trong khi Luhn đã quá đơn giản và đủ tốt cho thực tế.


Mỗi lần anh em thanh toán, dữ liệu thẻ cuối cùng vẫn được gửi đến hệ thống xác thực của ngân hàng. Nhưng nếu mọi lỗi gõ nhầm đơn giản cũng phải qua bước xác thực này, giao dịch sẽ tốn thêm thời gian và doanh nghiệp phải trả thêm phí xử lý. Luhn đóng vai trò như lớp xác thực đầu tiên khi chỉ cần vài phép tính cơ bản, hệ thống thanh toán tại chỗ đã loại bỏ được gần 90% lỗi nhập liệu. Nhờ đó, người dùng không mất công chờ đợi, còn doanh nghiệp thì tiết kiệm chi phí.

Tuy nhiên, một điểm lưu ý là thuật toán Luhn chỉ loại bỏ số thẻ không hợp lệ thôi. Vãn còn tồn tại trường hợp có số giả mạo vượt qua lớp kiểm tra của thuật toán này. Khi đó, các bước xác thực kiên cố hơn sẽ được thực hiện phía sau bởi hệ thống ngân hàng để xử lý gian lận hoặc lỗi phức tạp hơn.

Điểm mạnh của Luhn là đơn giản, nhưng nó cũng có giới hạn. Như đã nói, nếu đổi chỗ 0 và 9 thì thuật toán không phát hiện được. Về mặt toán học, việc hoán đổi hai chữ số liền kề thường làm thay đổi tổng kiểm tra (ví dụ cặp số 3 và 1 khi đảo chỗ sẽ khiến tổng khác đi 2 đơn vị), do đó chắc chắn không còn chia hết cho 10. Nhưng riêng trường hợp 0 và 9 thì tổng lại giữ nguyên, dẫn đến “khe hở” duy nhất này.

Lần tới khi bạn thấy thông báo “số thẻ không hợp lệ” hiện lên, hãy nhớ rằng có một “mánh toán học” nho nhỏ đang âm thầm hoạt động phía sau. Thuật toán Luhn – dù ra đời từ thập niên 1960 – đến nay vẫn là công cụ đắc lực, giúp bảo vệ người dùng và tiết kiệm chi phí cho doanh nghiệp. Một minh chứng rõ ràng rằng đôi khi, giải pháp đơn giản lại chính là giải pháp bền vững nhất.

Tin xem thêm

Từ 1/3, thị trường bất động sản hết thời chạy theo tin đồn?

Chuyên mục UH Plus
01/03/2026 09:12

(TPO/Ngọc Mai) - Từ ngày 1/3, quy định cấp mã định danh cho từng bất động sản sẽ có hiệu lực. Hệ thống dữ liệu quốc gia sẽ quản lý có đầy đủ thông tin, giá cả và lịch sử ...

Tin không hề vui: smartphone toàn cầu năm 2026 sẽ giảm mạnh sản lượng, và tăng giá!

Chuyên mục UH Plus
28/02/2026 17:30

IDC: lượng xuất xưởng smartphone toàn cầu năm 2026 sẽ giảm mạnh 12.9%

HONOR Magic V6 và OPPO Find N6 bị rò rỉ ảnh chụp thực tế với màn hình không nếp gấp?

Chuyên mục UH Plus
28/02/2026 17:25

HONOR Magic V6 và OPPO Find N6 bị rò rỉ ảnh chụp thực tế với màn hình không nếp gấp?

Thuế trả lời hộ kinh doanh về ghi số định danh thay mã số thuế trên hóa đơn

Chuyên mục UH Plus
28/02/2026 17:09

(VNN/Nguyễn Lê) - Cơ quan thuế vừa trả lời hộ kinh doanh về việc trên hóa đơn không thể hiện mã số thuế hộ kinh doanh tại mục “Mã số thuế” mà ghi mã số thuế hộ kinh doanh...

Màn hình chống nhìn trộm của Samsung S26 Ultra phức tạp hơn anh em nghĩ

Chuyên mục UH Plus
27/02/2026 08:38

(TinhTe/P.W) - Màn hình chống nhìn trộm của Samsung S26 Ultra phức tạp hơn anh em nghĩ

Netflix bỏ việc mua lại Warner Bros. Discovery khi Paramount nâng giá

Chuyên mục UH Plus
27/02/2026 08:30

(TinhTe/Đại Hiệp) - Netflix bỏ việc mua lại Warner Bros. Discovery khi Paramount nâng giá

Nhiều chính sách quan trọng có hiệu lực từ đầu tháng 3-2026

Chuyên mục UH Plus
27/02/2026 08:24

(NLDO/Phạm Dũng) - Từ ngày 1-3, thêm nhiều luật mới có hiệu lực, tập trung vào việc phục hồi doanh nghiệp (DN), cải thiện môi trường đầu tư,…

Sigma ra mắt 15mm f/1.4 DC dành cho dòng crop: nhỏ hơn, nhẹ hơn, quá đã...

Chuyên mục UH Plus
26/02/2026 09:41

Sigma ra mắt 15mm f/1.4 DC dành cho dòng crop: nhỏ hơn, nhẹ hơn, quá đã...

Quan điểm: Khi AI trở nên quá giỏi trong việc giả làm con người

Chuyên mục UH Plus
26/02/2026 09:28

(TinhTe-Nhật Minh) - Khi AI trở nên quá giỏi trong việc giả làm con người