- I-Luhn Algorithm iqinisekisa izinombolo ezifana namakhadi esikweletu ne-IMEI.
- Ifomula yayo ithola amaphutha ekulotshweni kwezinombolo okulula.
- Isetshenziswa kakhulu kumabhange kanye nezinhlelo zokuxhumana ngocingo.
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:
- Siqala kusuka kwidijithi yokugcina yenombolo bese siya kwesokunxele.
- Siphinda kabili idijithi ngayinye yesibili (ibala ukusuka kwesokudla).
- Uma ukuphindaphinda kuphumela enombolweni enkulu kuno-9, sengeza amadijithi ayo ngamanye (isibonelo, u-14 uba 1+4=5).
- Sengeza wonke amadijithi atholiwe, kokubili lawo aphindwe kabili nalawo ahlala engashintshi.
- Inombolo ivumelekile uma i- isamba sengqikithi ye-modulo 10 ilingana no-0. Ngaphandle kwalokho, akunjalo.
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.
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.