luhn algorithm

gày xưa mua một cái thẻ cào điện thoại, nạp sai số là sẽ không nhận được tiền! Làm sao để nó biết số nhập sai hay đúng, về mặt thuật toán cũng không phải là quá đơn giản, đầu tiên sẽ dùng một dạng thuật toán Luhn để kiểm tra xem việc nhập dãy số có đúng hay không! Trong dãy số, thường là số cuối cùng đóng vai trò check – digit! Ngày nay, Luhn và các phiên bản phát triển nâng cao của nó được dùng ở khắp mọi nơi: trên số passport, số CCCD, số mã vạch, số thẻ ngân hàng…

Trên hầu hết tất cả các dạng mã định danh khác như ISIN (International security identification number). Nhưng cần phân biệt rõ đây không phải là một phương pháp bảo mật, chỉ là thủ thuật kiểm tra để phát hiện việc nhập liệu là đúng hay sai! Cơ bản là giờ mạng internet đã rất nhanh, kiểm tra không quá mất thời gian, nhưng ngày xưa khi mạng còn chậm, cần phải kiểm tra ngay tại phía client (web browser, máy POS) để giúp phát hiện lỗi từ sớm mà không cần phải truy vấn server!