安全 Luhn公式是什么? -技术百科的定义

Luhn公式是什么? -技术百科的定义

目录:

Anonim

定义-Luhn公式是什么意思?

Luhn公式是一个简单的校验和公式,用于验证各种标识号,例如信用卡号,社会保险号,IMEI编号以及许多其他编号。 该算法针对数字本身中包含的校验位(通常是最后一位)来验证数字。 Luhn公式现在已在公共领域使用,并已广泛用于各个行业,并在ISO / IEC 7812-1中进行了规定。

Luhn公式也称为Luhn算法,模数10算法或mod 10算法。

Techopedia解释了Luhn公式

Luhn公式是由IBM科学家Hans Peter Luhn设计的,他于1954年为该公式申请了专利,并于1960年获得了专利。该公式并非旨在成为具有密码安全性的哈希函数,而是一种简单的方法创建唯一的标识号时可以防止意外错误。 许多政府机构和私人机构使用该公式来区分有效数字和错误键入的,错误的或仅仅是欺诈性数字。

该公式用于通过检查所包含的校验位是否正确来验证一系列数字。 通常将校验码附加到部分编号上以完成该校验。

以下过程是校验位的生成:

  1. 从最右边的数字开始,将第二个数字的值翻倍。
  2. 如果第一步得到的乘积大于9,则将两个数字相加(例如5×3 = 15,1 + 5 = 6)。 如果结果为9或更小,请保留该数字。
  3. 取所有数字的总和。
  4. 将总和乘以9并得到总和的“模10”; 结果是校验位。

示例:数字系列927638965

9

2

7

6

3

8

9

6

5是校验位

9

4

7

12

3

16

9

12

9

4

7

3

3

7

9

3

总和= 45; 45×9 = 405(mod 10)= 5

为了检查数字是否有效,只需遵循除校验数字外的算法,如果获得与校验数字相同的结果,则根据Luhn公式,该数字有效。 但是,此算法不是很可靠,只能检测到两位数的序列09到90的转位,但大多数错误只能检测一位数的错误和相邻数字的转位。更复杂的算法(例如Verhoeff算法和Damm算法)能够以检测更多的转录错误。

Luhn公式是什么? -技术百科的定义