보안

2FA TOTP 코드 주기·허용창 계산기

TOTP 자릿수와 코드 주기, 현재 주기 경과 초, 서버 허용 인접 구간을 넣어 남은 시간과 무작위 통과 확률을 계산합니다.

시간 기반 일회용 비밀번호가 현재 몇 초 뒤 바뀌는지 계산하고, 서버가 과거·현재·미래 구간을 동시에 인정할 때 유효한 코드 개수와 무작위 한 번 입력의 단순 통과 확률을 함께 보여줍니다.

자리

인증 화면에 실제로 표시되는 숫자 자릿수를 입력하세요.

초

발급자와 검증 서버에 설정된 TOTP 시간 간격입니다.

초

현재 TOTP 구간 시작 뒤 흐른 초입니다. 주기보다 큰 값도 나머지로 환산합니다.

칸

현재 구간 외에 과거와 미래 각각 몇 구간을 인정하는지 입력하세요.

계산 결과

현재 표시 코드가 바뀌기까지 남은 시간

18 초

단계계산값
현재 구간 안 경과 시간elapsed_seconds mod period_seconds12 초
현재 코드 남은 시간period_seconds − 현재 구간 안 경과 시간18 초
동시에 인정되는 시간 구간(…) + 13 개
허용창 전체 폭동시에 인정되는 시간 구간 × period_seconds90 초
숫자 코드 공간10 ^ code_digits1,000,000 개
무작위 1회 통과 확률 상한min((…), 1)0%
코드 자릿수
6
구간 길이(초)
30
현재 구간 경과(초)
12
양쪽 허용 인접 구간
1

2FA TOTP 코드 주기·허용창 계산기 사용 안내

계산 과정

기본 입력값으로 계산하면 현재 표시 코드가 바뀌기까지 남은 시간은(는) 18 초입니다. 항목별 내역은 위 표에서 확인할 수 있습니다.

결과가 실제와 달라지는 경우

알아두면 좋은 기준

자주 묻는 질문

코드가 1초 남았을 때 입력하면 바로 실패하나요?

클라이언트 전송 지연과 서버 시계가 다음 구간으로 넘어가도 서버가 과거 1칸을 허용하면 성공할 수 있습니다. 하지만 인접 허용이 0칸이거나 시계 오차가 크면 실패할 수 있으므로 새 코드가 뜬 뒤 입력하는 편이 안정적입니다.

양쪽 1칸이면 코드 유효시간이 정확히 90초인가요?

서버가 세 시간 구간을 검사한다는 의미에서 폭은 90초입니다. 특정 코드 문자열은 다른 구간에서 우연히 반복될 수 있고 재사용 차단 정책도 있으므로 한 코드가 언제나 연속 90초 동안 승인된다고 단정할 수는 없습니다.

6자리에서 8자리로 바꾸면 무작위 확률은 얼마나 줄어드나요?

동일 허용 구간 수라면 공간이 100만 개에서 1억 개로 100배 늘어 한 번의 무작위 통과 확률은 100분의 1이 됩니다. 다만 속도 제한과 seed 보호가 없다면 자릿수만으로 충분하지 않습니다.