API Key 생성기
길이, 문자 종류, 접두사 설정해서 안전한 랜덤 키 한 방에 뽑기.
키 설정
키 길이
생성 개수
접두사 (선택)
생성 버튼을 클릭하세요
쓰는 법
- 키 길이 정하기 (32~64자 추천).
- 포함할 문자 종류 체크 (대소문자, 숫자, 특수문자).
- 필요하면 접두사 입력 (
sk_,api_같은 거). - 생성 버튼 누르면 바로 나와요. 복사도 한 번에.
결과 예시
길이 48 / 영문+숫자 / 접두사 sk_live_
→ sk_live_7Xq9mR2vKpB4nF6jH3tL8wZ5cY1dS0aE
랜덤 키, 아무렇게나 뽑으면 안 되는 이유
API 키나 시크릿 토큰은 타이밍 공격이나 무작위 대입으로 깨지면 안 되니까 예측 불가능해야 해요. Math.random()은 의사 난수라 절대 쓰면 안 되고, 브라우저 내장 crypto.getRandomValues()를 써야 합니다. 이 도구는 그걸로 돌아가요.
길이, 문자셋(대문자/소문자/숫자/특수문자), 접두사(sk_live_ 같은 거)를 골라서 한 번에 여러 개 뽑을 수 있어요.
이거 쓰시면 좋은 점
- 브라우저
crypto.getRandomValues()기반이라 암호학적으로 안전한 랜덤이에요. - 길이, 문자셋, 접두사 다 골라서 만드니까 서비스마다 규칙 맞추기 편해요.
- 한 번에 여러 개 뽑을 수 있어서 스테이징/프로덕션/테스트용 따로 만들 때 편합니다.
- 생성된 키는 브라우저 밖으로 안 나갑니다. 서버 로그에도 안 남아요.
다른 키 생성 방법이랑 비교
| 항목 | FreeToolbox | UUID v4 | openssl rand |
|---|---|---|---|
| 길이 | 자유 설정 | 36자 고정 | 자유 |
| 접두사 | 있음 | 없음 | 수동 |
| 난수 품질 | crypto API | crypto API | OS CSPRNG |
| 설치 | 없음 (브라우저) | 라이브러리 필요 | 터미널 필요 |
자주 묻는 질문
생성된 키가 정말 안전한가요?
브라우저 내장 crypto.getRandomValues()를 쓰기 때문에 의사 난수(Math.random)랑 달리 예측 불가능한 값이 나와요. 실무에서도 그대로 쓰실 수 있는 품질입니다.
적당한 키 길이가 몇 자예요?
일반적으로 32~48자면 충분해요. 보안 민감한 서비스(결제, 인증)는 64자 이상 쓰시는 게 안전합니다. 너무 짧으면(16자 이하) 브루트포스에 뚫릴 수 있어요.
특수문자 빼고 싶은데요
체크박스에서 특수문자 해제하시면 영문+숫자만 나와요. URL에 들어가는 키는 특수문자 빼는 게 인코딩 이슈가 없어서 편합니다.
접두사는 왜 쓰나요?
Stripe의 sk_live_, GitHub의 ghp_처럼 서비스/환경 구분용이에요. 로그에서 찾을 때도 편하고, 실수로 프로덕션 키 올렸을 때 스캐너가 잡아내기 쉬워요.
생성된 키가 어디 저장되나요?
아무 데도 안 저장해요. 브라우저 메모리 안에서만 만들고 창 닫으면 사라집니다. 서버로도 안 보내니까 스크린샷 찍어두시거나 비밀번호 관리자에 직접 넣으셔야 합니다.