비밀번호 생성기

길이와 옵션을 지정해 안전한 무작위 비밀번호를 생성합니다.

// about

도구 소개

해커가 쉽게 추측할 수 없는 강력하고 안전한 비밀번호를 생성해 드립니다. 비밀번호 길이와 대소문자, 숫자, 특수문자 조합을 자유롭게 선택할 수 있습니다.

사용 방법

  1. 비밀번호 길이를 설정하세요 (예: 12자 이상 추천).
  2. 대문자, 소문자, 숫자, 특수문자 중 사용할 항목을 체크하세요.
  3. 생성 버튼을 누르고 안전한 비밀번호를 복사해 사용하세요.

이 도구를 찾는 이유

  • 1초 만에 유출 걱정 없는 강력한 비밀번호를 만듭니다.
  • 원하는 길이와 특수문자 포함 여부를 자유롭게 조합합니다.
  • 생성된 비밀번호는 어디에도 저장되거나 전송되지 않아 안심할 수 있습니다.

자주 묻는 질문 (FAQ)

어떤 비밀번호가 안전한가요?

최소 12자리 이상이며 알파벳 대소문자, 숫자, 특수문자가 섞여 있을수록 안전합니다.

생성된 비밀번호가 서버에 기록되나요?

아니요! 모든 과정은 사용자의 브라우저 내부에서만 실행되므로 외부로 유출되지 않습니다.

비밀번호는 얼마나 자주 바꿔야 하나요?

중요한 계정의 비밀번호는 몇 달에 한 번씩 주기적으로 변경해 주는 것이 좋습니다.

가이드 · 보안 · 4분 읽기

안전한 비밀번호 만드는 법: 길이, 엔트로피, 그리고 비밀번호 관리자

특수문자를 하나 넣으라는 규칙은 익숙하지만, 실제로 비밀번호를 강하게 만드는 것은 무작위성과 길이입니다. 숫자로 계산해 보면 어떤 비밀번호가 왜 약한지 분명해집니다.

공격자가 비밀번호를 알아내는 방법은 크게 세 가지입니다. 첫째, 다른 사이트에서 유출된 아이디와 비밀번호를 그대로 대입하는 '크리덴셜 스터핑'. 둘째, 자주 쓰이는 비밀번호와 단어를 차례로 넣어 보는 '사전 공격'. 셋째, 가능한 모든 조합을 시도하는 '무차별 대입'입니다.

숫자 6자리            : 6 × log2(10)  ≈ 20비트
소문자 16자(무작위)   : 16 × log2(26) ≈ 75비트
94종 문자 12자(무작위): 12 × log2(94) ≈ 79비트
영숫자 16자(무작위)   : 16 × log2(62) ≈ 95비트
비밀번호 강도를 결정하는 엔트로피 계산법, 복잡한 규칙보다 길이가 중요한 이유, 피해야 할 패턴과 비밀번호 관리자 활용법을 정리합니다.
가이드 읽기 →
AI로 직접 만들기

이 도구를 AI로 직접 만들어 보세요

나만의 버전이 필요하다면 아래 작업지시 프롬프트를 AI 채팅에 붙여 넣거나, 스킬 파일을 AI 코딩 에이전트에 저장하세요. 저희가 이 도구를 만들 때 정리한 기능, 예외 상황, 테스트 케이스가 그대로 담겨 있습니다.

AI 작업지시 프롬프트

Claude, ChatGPT, Gemini 같은 AI 채팅에 그대로 붙여 넣으세요.

당신은 숙련된 풀스택 웹 개발자입니다. 아래 요구사항에 맞춰 "비밀번호 생성기" 웹 도구를 만들어 주세요.

## 목표

암호학적으로 안전한 난수로 무작위 비밀번호를 만드는 생성기를 만든다.

## 핵심 기능

- 길이 선택(8~128)
- 대문자·소문자·숫자·기호 포함 여부 선택
- 헷갈리는 문자(0/O, l/1) 제외 옵션
- 여러 개 한 번에 생성
- 엔트로피(비트)와 강도 표시

## 입력

- 길이, 문자 종류, 개수, 제외 옵션

## 출력

- 생성된 비밀번호 목록
- 예상 엔트로피 비트 수

## 예외 상황과 처리 규칙

- 문자 종류를 하나도 선택하지 않으면 생성 불가 안내
- 선택한 종류가 최소 한 글자씩 포함되도록 보장
- Math.random 대신 crypto.getRandomValues 사용
- 모듈로 편향 없이 균등하게 선택

## 구현 조건

- 서버 없이 브라우저에서 동작하는 단일 페이지(HTML, CSS, JavaScript)로 만들고, 입력 데이터를 외부로 전송하지 마세요.
- 모바일에서도 쓰기 편한 반응형 UI로 만들고, 입력 요소에는 레이블을 달아 키보드로도 조작할 수 있게 해 주세요.
- 결과에는 '복사' 버튼을 달고, 잘못된 입력에는 이해하기 쉬운 한국어 오류 메시지를 보여 주세요.
- 핵심 로직은 UI와 분리된 함수로 작성해 단위 테스트를 할 수 있게 해 주세요.

## 완료 기준 (테스트 케이스)

- 길이 16 지정 시 모든 결과가 16자
- 숫자만 선택하면 숫자만 포함
- 94종 문자 12자의 엔트로피가 약 79비트로 표시

먼저 구현 계획을 5줄 이내로 설명한 다음 전체 코드를 작성하고, 마지막에 위 테스트 케이스를 확인하는 방법을 알려 주세요.

스킬 (SKILL.md)

Claude Code 같은 AI 코딩 에이전트에서 .claude/skills/build-password-generator/SKILL.md 경로로 저장하면, 이 도구를 만들거나 고칠 때마다 다시 쓸 수 있습니다.

---
name: build-password-generator
description: 비밀번호 생성기 도구를 새로 만들거나 수정할 때 사용합니다. 암호학적으로 안전한 난수로 무작위 비밀번호를 만드는 생성기를 만든다.
---

# 비밀번호 생성기 만들기

## 목표

암호학적으로 안전한 난수로 무작위 비밀번호를 만드는 생성기를 만든다.

## 작업 순서

1. 아래 필수 기능, 입력, 출력을 확인하고 빠진 정보가 있으면 먼저 질문합니다.
2. 핵심 로직을 UI와 분리된 순수 함수로 구현합니다.
3. 검증 목록의 테스트 케이스로 로직을 확인합니다.
4. 입력 폼, 결과 영역, 복사 버튼을 갖춘 반응형 UI를 만듭니다.
5. 규칙에 적힌 예외 상황을 하나씩 재현해 보고 오류 메시지를 다듬습니다.

## 핵심 기능

- 길이 선택(8~128)
- 대문자·소문자·숫자·기호 포함 여부 선택
- 헷갈리는 문자(0/O, l/1) 제외 옵션
- 여러 개 한 번에 생성
- 엔트로피(비트)와 강도 표시

## 입력

- 길이, 문자 종류, 개수, 제외 옵션

## 출력

- 생성된 비밀번호 목록
- 예상 엔트로피 비트 수

## 규칙

- 문자 종류를 하나도 선택하지 않으면 생성 불가 안내
- 선택한 종류가 최소 한 글자씩 포함되도록 보장
- Math.random 대신 crypto.getRandomValues 사용
- 모듈로 편향 없이 균등하게 선택
- 서버 없이 브라우저에서 동작하는 단일 페이지(HTML, CSS, JavaScript)로 만들고, 입력 데이터를 외부로 전송하지 마세요.

## 검증

- [ ] 길이 16 지정 시 모든 결과가 16자
- [ ] 숫자만 선택하면 숫자만 포함
- [ ] 94종 문자 12자의 엔트로피가 약 79비트로 표시

AI에게 맡길 때 팁

  • 첫 줄에 사용 중인 기술(예: React, Vue, 순수 HTML)을 적으면 프로젝트에 맞는 코드를 받을 수 있습니다.
  • 코드를 받기 전에 목록의 테스트 케이스를 실제로 실행하고 결과를 보여 달라고 요청하세요.
  • 실제 비밀번호, 고객 데이터, API 키는 프롬프트에 넣지 말고 예시 값으로 바꿔 쓰세요.