Trang Chủ Bảo vệ Công thức luhn là gì? - định nghĩa từ techopedia

Công thức luhn là gì? - định nghĩa từ techopedia

Mục lục:

Anonim

Định nghĩa - Công thức Luhn có nghĩa là gì?

Công thức Luhn là một công thức tổng kiểm tra đơn giản được sử dụng để xác thực các số nhận dạng khác nhau như số thẻ tín dụng, số an sinh xã hội, số IMEI và nhiều số khác. Thuật toán xác nhận số với một chữ số kiểm tra được bao gồm trong chính số đó, thường là chữ số cuối cùng. Công thức Luhn hiện thuộc phạm vi công cộng và được sử dụng rộng rãi trong các ngành công nghiệp khác nhau và được quy định trong ISO / IEC 7812-1.

Công thức Luhn còn được gọi là thuật toán Luhn, thuật toán modulus 10 hoặc thuật toán mod 10.

Techopedia giải thích Công thức Luhn

Công thức Luhn được phát minh bởi Hans Peter Luhn, một nhà khoa học của IBM, người đã nộp bằng sáng chế cho công thức vào năm 1954, được cấp vào năm 1960. Công thức này không được thiết kế để trở thành hàm băm bảo mật bằng mật mã, mà là một cách đơn giản để bảo vệ chống lại các lỗi vô ý trong việc tạo số nhận dạng duy nhất. Nhiều cơ quan chính phủ và các tổ chức tư nhân đã sử dụng công thức để phân biệt các số hợp lệ với các số bị nhầm, không chính xác hoặc đơn giản là lừa đảo.

Công thức được sử dụng để xác minh một loạt các số bằng cách kiểm tra xem một chữ số kiểm tra đi kèm có đúng không. Số kiểm tra này thường được gắn vào một phần số để hoàn thành nó.

Quá trình sau đây là việc tạo ra chữ số kiểm tra:

  1. Bắt đầu từ chữ số ngoài cùng bên phải, nhân đôi giá trị của mỗi chữ số thứ hai.
  2. Nếu sản phẩm kết quả từ bước đầu tiên cao hơn 9, hãy thêm hai chữ số (ví dụ: 5 × 3 = 15, 1 + 5 = 6). Nếu kết quả là 9 hoặc ít hơn, giữ lại số.
  3. Lấy tổng của tất cả các chữ số.
  4. Nhân tổng số với 9 và lấy "modulo 10" của tổng; kết quả là chữ số kiểm tra.

Ví dụ: Sê-ri số 927638965

9

2

7

6

3

số 8

9

6

5 là chữ số kiểm tra

9

4

7

12

3

16

9

12

9

4

7

3

3

7

9

3

tổng = 45; 45 × 9 = 405 (mod 10) = 5

Để kiểm tra xem số đó có hợp lệ không, chỉ cần làm theo thuật toán không bao gồm chữ số kiểm tra và nếu kết quả tương tự được lấy là số kiểm tra, thì số đó hợp lệ theo công thức Luhn. Tuy nhiên, thuật toán này không đáng tin cậy lắm và chỉ có thể phát hiện hầu hết các lỗi một chữ số và hoán vị của các số liền kề, ngoại trừ hoán vị của dãy hai chữ số 09 đến 90. Các thuật toán phức tạp hơn như thuật toán Verhoeff và thuật toán Damm có thể để phát hiện thêm lỗi phiên mã.

Công thức luhn là gì? - định nghĩa từ techopedia