Investor's wiki

Luhn 알고리즘

Luhn 알고리즘

Luhn μ•Œκ³ λ¦¬μ¦˜μ΄λž€?

"λͺ¨λ“ˆλŸ¬μŠ€ 10 μ•Œκ³ λ¦¬μ¦˜"이라고도 μ•Œλ €μ§„ Luhn μ•Œκ³ λ¦¬μ¦˜μ€ μ‚¬μš©μžκ°€ μ œκ³΅ν•œ 식별 λ²ˆν˜Έκ°€ μ •ν™•ν•œμ§€ μ—¬λΆ€λ₯Ό ν™•μΈν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” κ³΅μ‹μž…λ‹ˆλ‹€. 이 곡식은 μ‹ μš© μΉ΄λ“œ λ²ˆν˜ΈλŠ” λ¬Όλ‘  μ •λΆ€μ˜ μ‚¬νšŒ 보μž₯ 번호(SSN) 와 같은 기타 번호 μ‹œν€€μŠ€ 의 μœ νš¨μ„±μ„ κ²€μ‚¬ν•˜λŠ” 데 널리 μ‚¬μš©λ©λ‹ˆλ‹€ .

μ˜€λŠ˜λ‚  Luhn μ•Œκ³ λ¦¬μ¦˜μ€ μ „μž 결제 μ‹œμŠ€ν…œμ˜ ν•„μˆ˜ ꡬ성 μš”μ†Œμ΄λ©° λͺ¨λ“  μ£Όμš” μ‹ μš© μΉ΄λ“œμ—μ„œ μ‚¬μš©λ©λ‹ˆλ‹€.

Luhn μ•Œκ³ λ¦¬μ¦˜μ˜ μž‘λ™ 원리

LUHN 곡식 μ•Œκ³ λ¦¬μ¦˜μ€ 1954λ…„ Hans Peter Luhnμ΄λΌλŠ” 독일 컴퓨터 κ³Όν•™μžκ°€ IBMμ—μ„œ μ—°κ΅¬μ›μœΌλ‘œ μΌν•˜λ©΄μ„œ κ°œλ°œν–ˆμŠ΅λ‹ˆλ‹€. μ•Œκ³ λ¦¬μ¦˜μ˜ μ •ν™•ν•œ μž‘λ™μ€ 19μ„ΈκΈ° 초 Carl Friedrich Gaussκ°€ κ°œλ°œν•œ μˆ˜ν•™μ  기법인 λͺ¨λ“ˆμ‹ μ‚°μˆ μ„ 기반으둜 ν•©λ‹ˆλ‹€. 세뢀적인 μž‘μ—…μ€ λ‹€μ†Œ λ³΅μž‘ν•˜μ§€λ§Œ 고객이 μ œκ³΅ν•œ μ‹ μš© μΉ΄λ“œ λ²ˆν˜Έκ°€ μ •ν™•ν•œμ§€ μ—¬λΆ€λ₯Ό 컴퓨터가 μ‹ μ†ν•˜κ²Œ 평가할 수 μžˆλ„λ‘ ν•˜λŠ” κ²ƒμœΌλ‘œ κ°€μž₯ 잘 μ•Œλ €μ Έ μžˆμŠ΅λ‹ˆλ‹€.

κ·Έλ ‡κ²Œ ν•˜λŠ” 방법은 주어진 μ‹ μš© μΉ΄λ“œ λ²ˆν˜Έμ— 일련의 계산을 μ μš©ν•˜κ³  ν•΄λ‹Ή 계산 κ²°κ³Όλ₯Ό λ”ν•œ λ‹€μŒ κ²°κ³Ό λ²ˆν˜Έκ°€ μ˜ˆμƒ 결과와 μΌμΉ˜ν•˜λŠ”μ§€ ν™•μΈν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·Έλ ‡λ‹€λ©΄ μ‹ μš© λ²ˆν˜ΈλŠ” μœ νš¨ν•œ κ²ƒμœΌλ‘œ κ°„μ£Όλ©λ‹ˆλ‹€. 그렇지 μ•Šμ€ 경우 μ•Œκ³ λ¦¬μ¦˜μ€ μ‹ μš© μΉ΄λ“œ 번호λ₯Ό κ±°λΆ€ν•˜μ—¬ μ‚¬μš©μžκ°€ 번호λ₯Ό μž…λ ₯ν•  λ•Œ 였λ₯˜κ°€ λ°œμƒν–ˆμŒμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

고객의 μž…μž₯μ—μ„œλŠ” μžμ‹ λ„ λͺ¨λ₯΄κ²Œ Luhn μ•Œκ³ λ¦¬μ¦˜μ„ 항상 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 온라인으둜 주문을 ν•˜κ±°λ‚˜ 판맀자의 POS(Point of Sale) 터미널 을 μ‚¬μš©ν•  λ•Œ 컴퓨터 μ‹œμŠ€ν…œμ€ 정보 μž…λ ₯에 μ‹€μˆ˜κ°€ μžˆμ„ λ•Œ μ‹ μ†ν•˜κ²Œ μ•Œλ¦΄ 수 μžˆμŠ΅λ‹ˆλ‹€. Luhn μ•Œκ³ λ¦¬μ¦˜μ΄ ν•΄λ‹Ή μ‹œμŠ€ν…œμ˜ ν”„λ‘œκ·Έλž˜λ°μ— ν†΅ν•©λ˜μ—ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. 그것이 μ—†μœΌλ©΄ κ±°λž˜κ°€ μŠΉμΈλ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜κΈ° 전에 전체 ꡬ맀 주문이 제좜될 λ•ŒκΉŒμ§€ κΈ°λ‹€λ €μ•Ό ν•©λ‹ˆλ‹€. 즉, Luhn μ•Œκ³ λ¦¬μ¦˜μ€ μ‚¬μš©μž 였λ₯˜λ₯Ό λΉ λ₯΄κ²Œ μ‹λ³„ν•˜μ—¬ νŠΈλžœμž­μ…˜ 속도λ₯Ό λ†’μ΄λŠ” 데 도움이 λ©λ‹ˆλ‹€.

Luhn μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€μ œ 예

Luhn μ•Œκ³ λ¦¬μ¦˜μ˜ 핡심 κ°œλ… 쀑 ν•˜λ‚˜λŠ” μ†Œμœ„ "체크 λ””μ§€νŠΈ"λ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 μˆ«μžλŠ” 전체 μˆ«μžκ°€ μ •ν’ˆμΈμ§€ μ—¬λΆ€λ₯Ό ν™•μΈν•˜κ±°λ‚˜ "확인"ν•˜λŠ” 데 도움이 λ˜λ„λ‘ κ΄‘λ²”μœ„ν•œ 숫자 μ‹œν€€μŠ€μ— μ‚½μž…λœ 숫자둜 κ΅¬μ„±λ©λ‹ˆλ‹€.

μ‹ μš© μΉ΄λ“œμ˜ 경우 체크 μˆ«μžλŠ” μ‹ μš© μΉ΄λ“œ 번호 끝에 μΈμ‡„λœ ν•œ 자리 숫자둜 κ΅¬μ„±λ©λ‹ˆλ‹€. 체크 μˆ«μžλŠ” μ‹ μš© μΉ΄λ“œ νšŒμ‚¬μ—μ„œ νŠΉλ³„νžˆ μ„ νƒν•˜λŠ” λŒ€μ‹  μ‹œν€€μŠ€μ˜ μ•ž 숫자λ₯Ό 기반으둜 Luhn μ•Œκ³ λ¦¬μ¦˜μ— μ˜ν•΄ μžλ™μœΌλ‘œ κ²°μ •λ©λ‹ˆλ‹€. μ‚¬μš©μžκ°€ 거래λ₯Ό μ™„λ£Œν•˜κΈ° μœ„ν•΄ μ‹ μš© μΉ΄λ“œ 번호λ₯Ό μž…λ ₯ν•˜λ©΄ 결제 처리 μ†Œν”„νŠΈμ›¨μ–΄λŠ” Luhn μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•˜μ—¬ λΆ€λΆ„μ μœΌλ‘œ 체크 숫자λ₯Ό 기반으둜 μ§€μ •λœ λ²ˆν˜Έκ°€ μ •ν™•ν•œμ§€ μ—¬λΆ€λ₯Ό 감지할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜€λŠ˜λ‚  Luhn μ•Œκ³ λ¦¬μ¦˜μ€ 인기 μžˆλŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ 및 μ½”λ“œ λΌμ΄λΈŒλŸ¬λ¦¬μ— ν†΅ν•©λ˜μ–΄ μƒˆλ‘œμš΄ μ†Œν”„νŠΈμ›¨μ–΄ μ‘μš© ν”„λ‘œκ·Έλž¨μ— Luhn 기반 식별 번호 확인을 비ꡐ적 μ‰½κ²Œ 포함할 수 μžˆμŠ΅λ‹ˆλ‹€.

ν•˜μ΄λΌμ΄νŠΈ

  • Luhn μ•Œκ³ λ¦¬μ¦˜μ€ 1950λ…„λŒ€ ν›„λ°˜μ— 개발된 μˆ˜ν•™ κ³΅μ‹μž…λ‹ˆλ‹€.

  • 금육 λΆ„μ•Όμ—μ„œλŠ” μ‹ μš©μΉ΄λ“œ λ²ˆν˜Έκ°€ 잘λͺ» μž…λ ₯된 경우 μ‹ μ†ν•˜κ²Œ μ‹λ³„ν•˜μ—¬ μ „μžκ²°μ œ 처리λ₯Ό μ¦κ°€μ‹œν‚€λŠ” 데 κΈ°μ—¬ν–ˆμŠ΅λ‹ˆλ‹€.

  • μ‹λ³„λ²ˆν˜Έμ˜ μ§„μœ„ μ—¬λΆ€λ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄ 널리 μ‚¬μš©λ©λ‹ˆλ‹€.