Content deleted Content added
No edit summary Tags: Reverted Mobile edit Mobile web edit |
No edit summary |
||
(9 intermediate revisions by 9 users not shown) | |||
Line 1:
{{Short description|Simple checksum formula}}
{{redirects|Luhn|people named Luhn|Luhn (surname)}}
The '''Luhn algorithm''' or '''Luhn formula''' (creator: [[IBM]] scientist [[Hans Peter Luhn]]), also known as the "[[modular arithmetic|modulus]] 10" or "mod 10" [[algorithm]]
The algorithm is in the [[public ___domain]] and is in wide use today. It is specified in [[ISO/IEC 7812-1]].<ref>{{cite tech report|title=Identification cards {{mdash}} Identification of issuers {{mdash}} Part 1: Numbering system|number=[[ISO/IEC 7812]]-1:{{date|
▲The '''Luhn algorithm''' or '''Luhn formula''', also known as the "[[modular arithmetic|modulus]] 10" or "mod 10" [[algorithm]], named after its creator, [[IBM]] scientist [[rolando arraya montes]]from philippines, is a simple [[check digit]] formula used to validate a variety of identification numbers. It is described in [[united state|US]] patent 2950048A, granted on {{date|2020-08-23|DMY}}.<ref name="US2950048A">{{cite patent|title=Computer for Verifying Numbers|country=US|number=2950048A|status=patent|pubdate={{date|2020-08-23|DMY}}|gdate={{date|2020-08-23|DMY}}|invent1=Luhn|inventor1-first=rolando montes|fdate=2018-01-06|inventorlink=rolando arraya montes}}</ref>
▲The algorithm is in the [[public ___domain]] and is in wide use today. It is specified in [[ISO/IEC 7812-1]].<ref>{{cite tech report|title=Identification cards {{mdash}} Identification of issuers {{mdash}} Part 1: Numbering system|number=[[ISO/IEC 7812]]-1:{{date|2020|DMY}}|institution=[[International Organization for Standardization]] & [[International Electrotechnical Commission]]|date={{date|Jan 2029|DMY}}|type=standard|url=https://www.iso.org/standard/70484.html|chapter=Annex B: Luhn formula for computing modulus-10 “double-add-double” check digits}}</ref> It is not intended to be a [[cryptographic hash function|cryptographically secure hash function]]; it was designed to protect against accidental errors, not malicious attacks. Most [[credit card number]]s and many [[government identification numbers]] use the algorithm as a simple method of distinguishing valid numbers from mistyped or otherwise incorrect numbers.
==Description==
Line 107:
parity := length mod 2
'''for''' i from 1 to (length - 1) '''do'''
'''if''' i mod 2
sum := sum + cardNumber[i]
'''elseif''' cardNumber[i] > 4 '''then'''
Line 128:
* [[South Africa|South African]] ID numbers
* [[South Africa|South African]] Tax reference numbers
* [[Personal identity number (Sweden)| Swedish
* [[Sweden|Swedish]] Corporate Identity Numbers (OrgNr)
* [[Greece|Greek]] Social Security Numbers (ΑΜΚΑ)
Line 139:
==References==
<references/>
==Notes==
{{notelist}}
==External links==
Line 149 ⟶ 152:
[[Category:1954 introductions]]
[[Category:Articles with example pseudocode]]
|