랜덤 문자 생성기
원하는 길이와 문자셋을 선택하여 랜덤 문자열을 생성합니다.
본 도구는 참고용으로 제공되며, 보안이 중요한 용도에는 전문 도구를 사용하세요.
📖 랜덤 문자 생성기 안내
랜덤 문자 생성기란?
랜덤 문자 생성기는 브라우저의 Web Crypto API(crypto.getRandomValues)를 사용하여 암호학적으로 안전한 무작위 문자열을 생성하는 도구입니다. 일반적인 Math.random()보다 예측 불가능성이 높아 비밀번호, API 키, 토큰, 인증 코드 등 보안이 중요한 용도에도 활용할 수 있습니다.
사용 방법
문자열 길이와 포함할 문자 유형(대문자, 소문자, 숫자, 특수문자)을 선택한 후 생성 버튼을 클릭합니다. 한 번에 여러 개의 문자열을 생성할 수 있으며, 생성된 문자열은 클릭 한 번으로 클립보드에 복사됩니다.
활용 예시
- 웹 서비스 개발 시 임시 비밀번호, API 키, 세션 토큰 등을 안전하게 생성
- 테스트 데이터 생성 시 다양한 길이와 패턴의 무작위 문자열을 빠르게 확보
- 이벤트 쿠폰 코드, 초대 코드 등 고유한 코드를 대량 생성
🔐 안전한 비밀번호·코드 생성 가이드
비밀번호 — 길이가 복잡도보다 중요하다
현대 사이버 보안에서 검증된 사실: 길이가 복잡도를 이깁니다. 해커의 무차별 대입 공격(brute force)에 걸리는 시간은 문자 집합 크기의 지수함수로 증가합니다.
- 8자 대소문자+숫자: 약 58분에 뚫림
- 10자 대소문자+숫자+특수문자: 약 5년
- 12자 대소문자+숫자+특수문자: 약 3만 4천 년
- 16자 대소문자+숫자+특수문자: 사실상 불가능
2026년 기준 NIST(미국 국립표준기술연구소) 가이드라인은 최소 12자 이상을 권장합니다. 중요 계정(이메일·은행)은 16자 이상으로 설정하세요.
API 키·세션 토큰 — 용도별 권장 길이
- API 키: 32~64자 영숫자. 공개 저장소에 실수로 push되면 즉시 노출되므로 환경 변수 사용 권장
- 세션 토큰: 최소 128비트(Base64 인코딩 시 약 22자), 권장 256비트(약 43자)
- CSRF 토큰: 최소 32자 영숫자
- 초대 코드(사용자 공유용): 6~10자면 충분. 대신 만료 시간과 1회용 설정 필수
쿠폰·프로모 코드 — 분별성과 보안의 균형
사용자가 입력해야 하는 코드는 너무 길면 실수가 생깁니다. 실무 권장:
- 쿠폰 코드: 6~10자, 대문자+숫자만 (0/O, 1/I/l 제외 권장)
- 초대 코드: 8자 정도, 발음하기 쉬운 조합
- 대량 생성 시: 사전에 공유된 비밀번호 DB와 비교(collision check) 필요
왜 crypto.getRandomValues()인가?
JavaScript의 Math.random()은 의사난수(pseudo-random)로, 수학적으로 예측 가능하며 보안 용도에 부적합합니다. crypto.getRandomValues()는 OS의 하드웨어 엔트로피 소스(CPU 온도 노이즈, 키보드 입력 타이밍 등)를 활용한 암호학적 난수 생성기(CSPRNG)로, 암호화 키·인증 토큰에 안전하게 사용할 수 있습니다.
자주 하는 실수
- 생년월일·이름 포함: 사전 공격(dictionary attack)에 순식간에 뚫림
- "P@ssw0rd!" 같은 패턴: 해커들이 가장 먼저 시도하는 패턴
- 한 비밀번호를 여러 사이트에서 재사용: 한 곳 유출 시 전부 뚫림
- 비밀번호 저장을 브라우저에만 의존: 계정 한 곳 뚫리면 모든 로그인 노출. 2단계 인증 병행 필수
자주 묻는 질문
Q. 랜덤 문자열은 어디에 사용하나요?
비밀번호 생성, API 키, 세션 토큰, 테스트 데이터 생성 등 다양한 용도로 사용됩니다.
Q. 생성된 문자열은 안전한가요?
브라우저의 crypto.getRandomValues()를 사용하여 암호학적으로 안전한 난수를 기반으로 생성합니다. 단, 보안이 중요한 용도에는 전문 도구를 사용하세요.
관련 웹툴
본 계산 결과는 참고용으로 제공되며 실제 값과 차이가 발생할 수 있습니다. 본 웹툴은 정보 제공 목적이며 법적·재정적·의학적 판단의 근거로 사용될 수 없습니다. 정확한 계산이나 상담이 필요한 경우 전문가의 확인을 받으시기 바랍니다.