TOTP 코드 생성기
개발
TOTP(Time-based One-Time Password, RFC 6238)는 구글 OTP·Authy·1Password·대부분의 기업 다단계 인증 뒤에 있는 표준 알고리즘입니다. 서비스가 2FA 설정 시 알려준 Base32 시크릿(QR 코드에 인코딩된 동일한 문자열)을 붙여 넣으면, 본 도구는 현재 6자리 코드, 다음 회전까지 남은 초를 보여 주는 카운트다운 링, 그리고 다음 회전 코드까지 함께 표시합니다. 자리수(6/7/8), 주기(15/30/60/120초), 해시(SHA-1·SHA-256·SHA-512)는 모두 변경 가능하며 기본값은 구글 OTP 사양과 일치합니다. 모든 계산은 브라우저의 Web Crypto API 로 처리되어 시크릿이 네트워크로 전송되지 않습니다. 본인의 2FA 환경 테스트, 본인이 관리하는 시크릿에서 코드 복구, 인증 흐름 개발/디버깅 용도이며, 본인 소유가 아닌 계정의 인증 우회용이 아닙니다.
—
사용법
- Base32 시크릿(설정 화면에 표시되는 문자·숫자의 긴 문자열)을 시크릿 입력란에 붙여 넣으세요. 공백과 하이픈은 무시됩니다.
- 서비스가 사용하는 자리수·주기·알고리즘에 맞춰 옵션을 조정하세요. 구글 OTP 기본값은 6자리 / 30초 / SHA-1 입니다.
- 현재 코드를 클릭하면 복사됩니다. 카운트다운 링이 0에 가까우면 ‘다음 코드’ 패널을 확인해 현재 코드와 다음 코드 중 어느 쪽을 쓸지 결정하세요.
- 코드가 거부되면 기기 시간이 정확한지 확인하세요 — TOTP 는 Unix 시간이 초 단위까지 맞아야 동작합니다.
자주 묻는 질문
- 안전한가요? 시크릿이 어디로 전송되나요?
- 브라우저 밖으로 나가지 않습니다. Base32 디코딩과 HMAC-SHA 연산 모두 Web Crypto API 로 기기 안에서 실행됩니다. 네트워크 탭을 열어 확인할 수 있습니다. 다만 TOTP 시크릿은 비밀번호와 같으니 신뢰할 수 있는 도구에만 붙여 넣고, 시크릿이 노출되는 스크린샷은 공유하지 마세요.
- 어떤 설정을 골라야 하나요?
- 기본값(6자리·30초·SHA-1)은 구글 OTP 사양과 동일하며 대부분의 서비스와 호환됩니다. 일부 은행·기업 시스템은 8자리·60초·SHA-256/512 를 쓰며, 설정 안내에 명시되거나 otpauth:// URI 안에 포함되어 있습니다. 파라미터가 어긋나면 조용히 잘못된 코드가 생성됩니다.
- 코드가 거부됩니다 — 뭐가 잘못된 거죠?
- 가장 흔한 원인은 시계 동기화입니다. TOTP 는 기기의 Unix 시간을 사용하므로 30초 이상 어긋나면 모든 코드가 실패합니다. 시간을 동기화하세요(대부분의 OS 는 자동 — NTP 설정을 확인). 그 외 원인: 잘못된 자리수·주기·알고리즘, 시크릿 문자열의 누락·중복, 다른 계정 시크릿 사용.
- TOTP 와 HOTP 차이는?
- HOTP(RFC 4226)는 ‘다음 코드’ 버튼을 누를 때마다 카운터가 증가하며 서버와 동기화가 필요합니다. TOTP(RFC 6238)는 카운터 대신 현재 Unix 시간 ÷ 주기를 사용하므로 코드가 자동 회전합니다. 현대의 2FA 는 거의 모두 TOTP 를 씁니다.
- QR 코드나 otpauth:// URI 를 가져올 수 있나요?
- 이 도구에서는 Base32 시크릿을 직접 붙여 넣어야 합니다. otpauth:// URI 의 ‘secret=’ 뒤 값이 시크릿입니다. QR 코드 이미지만 있다면 먼저 별도 디코더로 스캔한 뒤 시크릿만 여기에 붙여 넣으세요.
관련 도구
JWT 디코더
JWT의 헤더·클레임·만료를 즉시 확인하세요.
개발00
UUID 생성기
무작위 버전4 UUID를 여러 개 한 번에 생성하고 복사하세요.
개발00
해시 생성기 (SHA)
텍스트로 SHA-1·SHA-256·SHA-384·SHA-512 해시를 생성하세요.
개발00
URL 인코더 / 디코더
URL용으로 텍스트를 퍼센트 인코딩하거나, 인코딩된 URL을 디코딩하세요.
개발00
Base64 인코더 / 디코더
텍스트를 Base64로 인코딩하거나 다시 텍스트로 디코딩하세요.
개발00
JSON 포맷터 & 검증기
브라우저에서 바로 JSON을 포맷·정렬·압축·검증하세요.
개발00