홈 › 개발·웹 도구

OTP 코드 생성기·QR 만들기

비밀 키는 이 기기 안에서만 계산에 쓰고 저장하지 않아요. 다른 사람이 쓰는 컴퓨터에서는 실제 계정 키를 넣지 마세요.

파일은 서버로 전송되지 않고 내 기기에서만 처리돼요
지금 코드
------

인증 앱 등록용 QR 만들기

OTP 코드는 이렇게 만들어져요

Google OTP, Microsoft Authenticator 같은 인증 앱의 6자리 코드는 서버와 앱이 같은 비밀 키를 나눠 갖고, 같은 계산을 해서 만들어요. 인터넷 연결 없이도 코드가 맞는 이유예요. 계산은 공개 표준이에요. HOTP(RFC 4226)는 비밀 키로 ‘카운터 값’의 HMAC을 구한 뒤 그중 4바이트를 골라 10⁶으로 나눈 나머지를 코드로 써요. TOTP(RFC 6238)는 카운터 대신 ‘유닉스 시간 ÷ 30초’를 써서 30초마다 코드가 바뀌어요. 이 도구는 브라우저 내장 Web Crypto의 HMAC으로 같은 계산을 해요.

이럴 때 써요

입력과 QR

비밀 키는 Base32(A–Z, 2–7)로 넣고, 빈칸·하이픈·소문자는 알아서 정리해요. 인증 앱 QR 속 주소(otpauth://totp/서비스:계정?secret=…&issuer=…)를 통째로 붙여 넣으면 방식·알고리즘·자릿수·주기·서비스 이름을 함께 읽어요. ‘새 비밀 키 만들기’는 브라우저의 안전한 난수(crypto.getRandomValues)로 키를 만들고, 그 키로 인증 앱에 등록할 QR 코드를 PNG로 저장할 수 있어요. 결과는 RFC 6238 부록 B의 시험 값(SHA-1·SHA-256·SHA-512, 59초·1111111109초 등)과 같은지 확인했어요.

보안 주의

비밀 키를 가진 사람은 누구나 코드를 만들 수 있어요. 이 페이지는 키를 저장하거나 서버로 보내지 않지만, 공용 컴퓨터나 화면 공유 중에는 실제 계정의 키를 넣지 마세요. 인증 앱을 대신하는 용도보다는 개발·시험·백업 확인에 쓰는 것을 권해요. 이 도구로 다른 사람의 계정 코드를 만들어서는 안 돼요.

참고한 자료

자주 묻는 질문

인증 앱과 코드가 달라요.

기기 시계가 정확한지, 알고리즘·자릿수·주기가 서비스 설정과 같은지 확인하세요. 대부분 SHA-1·6자리·30초예요.

인증 앱 QR 사진을 넣을 수 있나요?

‘QR코드 읽기’ 도구로 QR 속 otpauth 주소를 먼저 읽은 뒤 여기에 붙여 넣으세요.

비밀 키 길이는 얼마가 좋아요?

RFC 4226은 128비트 이상, 권장 160비트(20바이트)예요. Base32로는 32글자예요.

함께 쓰면 좋은 도구