I-algorithm kaLuhn: Kuyini, Isebenza Kanjani kanye Nezinhlelo Zokusebenza

Isibuyekezo sokugcina: 12 Apreli 2026
  • I-Luhn Algorithm iqinisekisa izinombolo ezifana namakhadi esikweletu ne-IMEI.
  • Ifomula yayo ithola amaphutha ekulotshweni kwezinombolo okulula.
  • Isetshenziswa kakhulu kumabhange kanye nezinhlelo zokuxhumana ngocingo.

Umfanekiso we-algorithm ka-Luhn

I -algorithm kaLuhn , eyaziwa nangokuthi "i-modulo ka-10," iyithuluzi lezibalo elilula kodwa eliwusizo kakhulu. Ivame ukusetshenziswa ukuqinisekisa izinombolo zokuhlonza , njengalezo ezikumakhadi esikweletu kanye nezihlonzi ze-IMEI zamafoni eselula. Yaklanywa ngo-1954 ngusosayensi uHans Peter Luhn, isasebenza futhi isetshenziswa emikhakheni eminingi.

Le algorithm ayisebenzi kahle kakhulu ekutholeni amaphutha avamile ekubhalweni kwezinombolo , kodwa futhi iyahambisana nezindinganiso ze-ISO/IEC 7812-1. Nakuba ingazange idalelwe izinjongo ze-cryptographic, ikhono layo lokuvimbela amaphutha angengozi lenza kube ithuluzi elibalulekile.

Iyini ngempela i-Luhn Algorithm?

I-algorithm ye-Luhn iyindlela esekelwe ekubalweni okulula kwezibalo ukuqinisekisa ubuqiniso benombolo . Nakuba abantu abaningi beyihlanganisa namakhadi esikweletu, isetshenziswa nakwezinye izinhlelo ezidinga ukuqinisekiswa kwezinombolo, njengezinombolo ze-IMEI zocingo oluphathwayo, izinombolo ze-akhawunti yasebhange, ngisho nama-barcode.

Ekuqaleni yathuthukiswa njengefomula yemishini yamadivayisi, ukusetshenziswa kwayo manje sekudijithali. Le nqubo ihilela ukwengeza, ukuphindaphinda, kanye nokusebenza kwe-modulo 10 , okwenza kube lula ukuyisebenzisa ngezilimi ezahlukene zokuhlela.

Isebenza kanjani i-Luhn Algorithm?

Ukusebenza kwe-algorithm ye-Luhn kungachazwa ngezinyathelo ezimbalwa ukuthi, nakuba zilula, ziyasebenza ekutholeni amaphutha. Ake sicabangele ukuthi sifuna ukuqinisekisa inombolo:

  1. Siqala kusuka kwidijithi yokugcina yenombolo bese siya kwesokunxele.
  2. Siphinda kabili idijithi ngayinye yesibili (ibala ukusuka kwesokudla).
  3. Uma ukuphindaphinda kuphumela enombolweni enkulu kuno-9, sengeza amadijithi ayo ngamanye (isibonelo, u-14 uba 1+4=5).
  4. Sengeza wonke amadijithi atholiwe, kokubili lawo aphindwe kabili nalawo ahlala engashintshi.
  5. Inombolo ivumelekile uma i- isamba sengqikithi ye-modulo 10 ilingana no-0. Ngaphandle kwalokho, akunjalo.
  I-Brute-force algorithms ezinhlelweni: lokho abayikho, izibonelo, nomehluko ngokuhlehla emuva.

Isibonelo, inombolo engu -79927398713 iqinisekiswe ngempumelelo kusetshenziswa izinyathelo ezingenhla. Le fomula ikuvumela futhi ukubala "inombolo yokuhlola" edingekayo ukuze kugcwaliswe inombolo yokuhlonza evumelekile.

Izicelo Zangempela ze-Luhn Algorithm

Phakathi kwezicelo eziphawuleka kakhulu ze-algorithm ye-Luhn sithola:

  • Ukuqinisekisa Ikhadi Lesikweletu: Isetshenziswa abakhiphi abafana ne-Visa, Mastercard kanye ne-American Express ukuze kuqinisekiswe izinombolo zamakhadi.
  • Amakhodi e-IMEI: Izihlonzi zedivayisi yeselula ezihlukile zifaka idijithi yokuqinisekisa ebalwa kusetshenziswa i-Luhn.
  • Amasistimu ebhange: Ukuqinisekiswa kwama-akhawunti nezinombolo zekhasimende.
  • Amathuluzi aku-inthanethi: Izibali nemibhalo eqinisekisa izinombolo ngokushesha isebenzisa le fomula.

Lokhu kuguquguquka kwenza i-algorithm ye-Luhn ibe yindinganiso ngaphakathi kwezinhlelo ezidinga ukuqinisekiswa kwezinombolo okuthembekile.

Imikhawulo ye-Algorithm

Naphezu kokusebenziseka kwayo, i-algorithm ye-Luhn ayinaphutha. Ngokwesibonelo:

  • Ayiboni ukuguqulwa okuyinkimbinkimbi, njengokushintshanisa u-09 ngo-90.
  • Ayakhelwe ukuvikela ekuphambeni ngamabomu noma ekukhwabaniseni.
  • Ikhawulelwe kumayunithi ezinhlamvu ezinombolo, nakuba kukhona izandiso zokufaka izinhlamvu ze-alphanumeric.

Le mikhawulo iyenza ifaneleke kakhulu ekutholeni amaphutha ngengozi , ihambisana nezinye izindlela zokuphepha zokuvikela idatha ebucayi.

Ukuqaliswa Kuhlelo

I-algorithm ingasetshenziswa kalula cishe kunoma yiluphi ulimi lokuhlela. Ngezansi isibonelo socezu lwePython:

def validate_luhn(inombolo): isamba = 0 toggle = Amanga ngedijithi ehlehlisiwe(inombolo): d = int(idijithi) uma uguqula: d *= 2 uma d > 9: d -= 9 isamba += d toggle = ungaguquli inani lokubuyisela % 10 == 0

Le khodi eyisisekelo ithatha iyunithi yezinhlamvu njengokufakiwe futhi ibuyisela inani le-boolean elibonisa ukuthi inombolo ivumelekile ngokwe-Luhn.

  Izinhlobo eziyinhloko ze-algorithm zichazwe ngendlela elula

I-algorithm ye-Luhn isalokhu iyithuluzi elibalulekile emhlabeni wanamuhla, ikakhulukazi ezimbonini ezidinga ukuqinisekisa izinombolo zokuhlonza ngokushesha nangempumelelo. **ukuba lula** kwayo kanye **nensizakalo esebenzayo** ivikele indawo yayo njengezinga lamazwe ngamazwe. Ukuqonda ukuthi isebenza kanjani nokuthi isetshenziswa kanjani kusivumela ukuthi sihlole umthelela wayo ezimpilweni zethu zansuku zonke.