카드번호 Luhn 검사 (개발·테스트용)

결제 연동 개발 중 다루는 테스트 카드번호가 Luhn 체크섬에 맞는 형식인지 검사하고, 앞자리 패턴으로 비자·마스터·아멕스 등 브랜드 형식을 추정합니다. 형식 검사일 뿐 실제 발급·사용 가능 여부와는 무관하며, 실제 본인·타인의 카드번호는 어떤 웹 도구에도 입력하면 안 됩니다.

카드번호 Luhn 검사 (개발·테스트용)모두의계산기

Luhn 알고리즘이란

Luhn 알고리즘은 카드번호 같은 식별 번호의 입력 오타를 잡기 위한 공개된 체크섬 규칙입니다(1954년 고안, 특허 만료된 공지 기술). 오른쪽 끝에서부터 한 자리 건너 하나씩 2를 곱하고, 곱한 값이 9를 넘으면 9를 빼서 모두 더한 합이 10의 배수여야 합니다. 한 자리 오타는 항상 걸러내고, 인접 자리 바꿈도 대부분 잡습니다. 카드번호 외에 IMEI(휴대폰 식별번호) 등에도 같은 규칙이 쓰입니다. 보안 장치가 아니라 오타 방지 장치라는 점이 핵심입니다.

앞자리(BIN)로 브랜드를 아는 원리

카드번호 앞 6~8자리는 BIN(발급기관 식별번호)으로, 브랜드마다 대역이 정해져 있습니다. 비자는 4로 시작(13·16·19자리), 마스터카드는 51–55 또는 2017년에 확장된 2221–2720 대역(16자리), 아멕스는 34·37(15자리)입니다. 이 도구의 브랜드 표시는 이 공개된 앞자리 패턴만 본 형식 판별이며, 실제 발급 여부나 발급사 확인과는 무관합니다. 국내 전용 카드 등은 이 대역에 없어 "알 수 없음"으로 나올 수 있습니다.

개발·테스트 용도로만

이 도구의 용도는 결제 연동 개발입니다 — 입력 폼의 Luhn 검증 로직이 맞게 구현됐는지, 테스트 데이터가 형식에 맞는지 확인하는 것입니다. 실제 본인이나 타인의 카드번호는 이 도구를 포함해 어떤 웹 도구에도 입력하지 마세요. 입력값이 서버로 전송되지 않더라도, 실카드 번호를 아무 곳에나 입력하는 습관 자체가 사고의 시작입니다. 또한 이 도구는 테스트 카드번호를 생성해 주지 않습니다. 테스트 번호는 이용하는 결제사(PG)·카드사 개발 문서의 공식 테스트 번호(예: 문서에 공개된 4111 1111 1111 1111 류)를 쓰는 것이 원칙입니다.

Luhn 통과가 의미하지 않는 것

Luhn을 통과하는 16자리 조합은 10의 15승 개나 됩니다. 통과는 "오타가 아닐 확률이 높다"는 뜻일 뿐, 실존하는 카드도 결제 가능한 카드도 아닙니다. 실제 결제 가능 여부는 카드사 승인망에서 유효기간·CVC·한도까지 확인되어야 하며, 그 어떤 것도 브라우저의 체크섬 계산으로는 알 수 없습니다.

자주 묻는 질문

실제 카드번호를 넣어서 유효한지 확인해도 되나요?

안 됩니다. 이 도구는 개발·테스트 데이터 검증 용도이며, 실카드 번호는 어떤 웹 도구에도 입력하지 않는 것이 원칙입니다. 실카드의 유효 여부는 카드사·결제 과정에서만 확인됩니다.

테스트용 카드번호를 만들어 주나요?

아니요, 생성 기능은 제공하지 않습니다. 결제 연동 테스트에는 이용 중인 PG사·카드사 개발 문서에 공개된 공식 테스트 번호를 사용하세요.

Luhn을 통과하면 결제되는 번호인가요?

아닙니다. Luhn은 오타 검출용 체크섬일 뿐이며, 통과하는 무의미한 조합이 무한히 많습니다. 실제 결제는 카드사 승인망에서 발급 여부·유효기간·CVC까지 확인되어야 합니다.

함께 보기