사용 방법
- 토큰 하나에 포함할 무작위 바이트 수를 선택하세요. 보안 비밀에는 32바이트(256비트)가 안전한 기본값입니다.
- 토큰을 사용할 곳에 맞는 인코딩을 선택하고, 원하는 경우 “myapp_live_”와 같은 접두사를 추가하세요.
- 필요한 토큰 수를 설정한 다음 하나를 복사하거나 “모두 복사”를 사용하세요. 새 토큰을 만들려면 “다시 생성”을 누르세요.
작동 방식
토큰은 브라우저와 운영체제에 내장된 암호학적으로 안전한 생성기인 crypto.getRandomValues가 생성한 무작위 바이트로 만들어집니다. Math.random은 사용하지 않습니다.
hex, Base64, Base64URL 형식에서는 선택한 바이트 수만큼 정확히 가져와 인코딩합니다. 따라서 32바이트 토큰은 항상 256비트의 엔트로피를 가집니다. 인코딩 결과는 64자의 hex, 44자의 Base64(패딩용 = 1개 포함) 또는 43자의 Base64URL입니다. Base64URL은 +와 /를 -와 _로 바꾸고 패딩을 제거하므로 이스케이프 없이 URL, 파일 이름 및 HTTP 헤더에 사용할 수 있습니다.
영숫자 토큰에는 A–Z, a–z, 0–9만 사용되므로 일부 시스템에서 특수하게 처리하는 문자를 피할 수 있습니다. 각 문자는 약 5.95비트의 엔트로피를 가지므로, 선택한 비트 수 이상이 되도록 충분한 문자를 생성합니다(256비트의 경우 43자). 거부 샘플링을 사용해 62개 문자 모두가 같은 확률로 선택되도록 합니다.
접두사는 일반 텍스트로 추가되며 엔트로피를 더하지 않습니다. “sk_live_” 같은 접두사를 사용하면 키가 유출됐을 때 알아보기 쉽고 비밀 정보 검색 도구로 찾기도 쉽습니다. 비밀 정보는 소스 코드가 아니라 비밀번호 관리자나 비밀 정보 저장소에 보관하세요.
예시
웹훅 서명 비밀 키
32바이트를 hex로 인코딩하면 엔트로피가 256비트인 64자 비밀 키가 생성됩니다. 이 키를 HMAC-SHA-256 서명을 위한 발신자와 수신자의 설정에 모두 붙여 넣을 수 있습니다.
알아보기 쉬운 접두사가 있는 API 키
24바이트, 영숫자 형식, 접두사 “acme_live_”를 선택하세요. 각 키는 acme_live_ 뒤에 영문자와 숫자 33자가 이어지는 형태이며, 엔트로피가 192비트 이상이고 로그나 비밀 정보 검색 도구에서 쉽게 찾을 수 있습니다.
URL에 안전한 재설정 토큰
16바이트를 Base64URL로 인코딩하면 22자 길이의 토큰(128비트)이 생성됩니다. /reset?token=… 같은 링크에 퍼센트 인코딩 없이 바로 사용할 수 있습니다.
자주 묻는 질문
비밀 키는 몇 바이트여야 하나요?
세션 ID와 같은 토큰은 128비트(16바이트)면 추측할 수 없을 만큼 안전합니다. 서명 키처럼 오래 사용하는 비밀 키에는 일반적으로 256비트(32바이트)를 권장하며, 이는 SHA-256의 출력 크기와 같습니다.
어떤 인코딩을 선택해야 하나요?
바이트 수가 같으면 엔트로피는 동일하고 텍스트 형식만 달라집니다. 호환성을 최대한 높이려면 hex, URL 및 헤더에서 짧은 토큰을 사용하려면 Base64URL, 시스템에서 문장 부호를 허용하지 않으면 영숫자 형식을 선택하세요.
토큰이 저장되거나 기록되나요?
아니요. 토큰은 이 브라우저 탭에서 생성되며 페이지를 나가면 사라집니다. 서버로 전송되거나 분석 데이터에 포함되지 않습니다.
이 토큰을 비밀번호로 사용해도 되나요?
네, 충분히 무작위로 생성됩니다. 다만 사이트에서 여러 문자 유형을 조합하도록 요구하는 경우가 많습니다. 비밀번호 생성기에서는 이러한 규칙을 직접 설정할 수 있습니다.
개인정보 보호
토큰은 브라우저에서 crypto.getRandomValues로 생성됩니다. 업로드, 저장, 기록되거나 분석 데이터로 전송되지 않습니다. 도구 사용 사실을 나타내는 익명 이벤트만 기록됩니다.