DevToys Web Pro iconDevToys Web Pro블로그
평가하기:
브라우저 확장 프로그램을 사용해 보세요:

OTP 생성기 (TOTP/HOTP)

설정

  • 모드

    시간 기반(TOTP) 또는 카운터 기반(HOTP) 중에서 선택하세요

  • 알고리즘

    OTP 생성에 사용할 해시 알고리즘

  • 자릿수

    OTP 코드의 자릿수

  • 주기

    TOTP 코드 유효 시간 간격

비밀 키

  • 생성된 코드

  • ------

    QR 코드 설정

    코드 확인

    현재 비밀 키에 대해 코드가 유효한지 확인합니다

    OTP 인증 URI

  • 이 URI를 사용하거나 QR 코드를 스캔하여 인증 앱에 이 계정을 추가하세요

    기술적 세부 정보

    OTP 생성기 작동 방식

    도구가 하는 일

    이 OTP 생성기는 Google Authenticator, Authy 및 기타 2FA 앱과 호환되는 시간 기반 일회용 비밀번호(TOTP)와 HMAC 기반 일회용 비밀번호(HOTP)를 생성합니다. Base32 시크릿 키를 입력하거나 생성하면, 이 도구는 TOTP의 경우 30초 또는 60초마다 변경되는 6~8자리 코드를 생성하거나, HOTP의 경우 카운터 증가에 따라 코드가 변경되도록 생성합니다. 모든 계산은 Web Crypto API를 사용해 브라우저에서 로컬로 실행되므로 시크릿은 기기를 벗어나지 않습니다.

    개발자들이 흔히 사용하는 사례

    개발자는 온라인 TOTP 생성기를 사용해 2단계 인증 구현을 테스트하고, OTP 라이브러리가 올바른 코드를 생성하는지 확인하며, 인증 흐름을 디버깅합니다. 2FA 시스템을 구축할 때 이 도구로 테스트용 시크릿을 생성하고, 서버 측 TOTP 구현을 검증하며, 시간 동기화가 올바른지 확인할 수 있습니다. 또한 QA 팀이 기기에 인증 앱을 설치하지 않고도 2FA 워크플로를 검증하는 데 도움이 됩니다.

    데이터 형식 및 표준

    이 OTP 도구는 RFC 6238(TOTP) 및 RFC 4226(HOTP) 표준을 구현합니다. 시크릿 키는 인증 앱의 표준 형식인 Base32 인코딩을 사용합니다. 이 도구는 SHA-1(기본값, 호환성 최고), SHA-256, SHA-512 해시 알고리즘을 지원합니다. 출력 코드는 6, 7 또는 8자리일 수 있으며, 6자리가 가장 일반적입니다. OTP Auth URI 형식(otpauth://totp/...)은 Google Authenticator 및 유사 앱과 호환됩니다.

    흔한 함정과 엣지 케이스

    TOTP 코드는 시간에 매우 민감합니다. 서버와 클라이언트의 시계가 30초 이상 어긋나면 인증이 실패합니다. 대부분의 구현은 작은 드리프트를 처리하기 위해 1~2 타임 스텝의 허용 창을 둡니다. SHA-1은 가장 널리 지원되는 알고리즘이며, 일부 오래된 인증 앱은 SHA-256 또는 SHA-512를 지원하지 않을 수 있습니다. 시크릿 키가 올바르게 Base32로 인코딩되었는지 확인하세요. 유효하지 않은 문자는 디코딩 오류를 유발합니다.

    코드 대신 이 도구를 사용해야 하는 경우

    개발 중 2FA 구현을 테스트, 디버깅, 검증할 때 이 OTP 생성기를 사용하세요. 프로덕션 시스템에서는 pyotp(Python), speakeasy(Node.js), GoogleAuthenticator(여러 언어) 같은 검증된 라이브러리를 사용해 서버에서 OTP 코드를 생성하고 검증하세요. 클라이언트 측 코드에 시크릿 키를 절대 노출하지 마세요. 이 도구는 개발 워크플로에 이상적이지만, 애플리케이션은 OTP 검증을 서버 측에서 처리해야 합니다.