피드로 돌아가기
Designing Pairing Codes: Tradeoffs, Mistakes, and a Simple Approach That Works
Dev.toDev.to
Backend

필터링 제거를 통한 35만 개 조합의 고효율 Pairing Code 설계

Designing Pairing Codes: Tradeoffs, Mistakes, and a Simple Approach That Works

Aleksandar Sabo2026년 5월 2일9beginner

Context

TV와 웹 앱 간의 연결을 위해 사용자 입력 허들을 최소화하는 Pairing Code 시스템 필요. 단순 랜덤 생성 시 발생하는 가독성 저해 및 비속어 노출 가능성이라는 제약 사항 해결이 핵심 과제임.

Technical Solution

  • 0과 O를 제외한 34개 문자셋 구성을 통한 시각적 혼동 가능성 원천 차단
  • 4자리 코드 길이 설정을 통해 사용자 입력 편의성과 충분한 조합 수 확보
  • 2번째 또는 3번째 위치에 숫자 배치를 강제하는 로직을 통한 단어 형성 가능성 제거
  • 비속어 필터링 리스트 유지보수 비용을 없애는 구조적 제약 조건 도입
  • 5분 만료 시간 설정 및 DB 기반 유일성 검증을 통한 임시 기기 연결 보안 모델 적용

1. 사용자 입력값 생성 시 시각적으로 유사한 문자(0, O, 1, l 등) 제외 여부 검토

2. 비속어/금칙어 필터링 도입 전, 구조적으로 해당 패턴이 생성될 수 없는 규칙 설계 가능성 확인

3. 보안 수준과 사용자 경험의 트레이드오프를 고려한 코드 길이 및 만료 시간 설정

원문 읽기