← 블로그 목록으로 돌아가기
2026년 5월 17일 Web Tools · 6 분 읽기

완전 무료·절대 안전한 비밀번호 생성기 — 백엔드 없이 내 브라우저에서만 동작합니다

완전 무료·절대 안전한 비밀번호 생성기 — 백엔드 없이 내 브라우저에서만 동작합니다

⚠️ 중요: 이 도구는 서버로 단 한 바이트도 전송되지 않습니다. 모든 생성·계산이 당신의 브라우저 안에서完전히 이루어지며, 비밀번호가 외부로 절대 유출되지 않습니다.

🔐 왜 이 도구를 만들었나?

비밀번호 생성기는 수없이 많지만, 대부분 두 가지 문제 중 하나를 안고 있습니다.

  1. 서버에서 생성한다 — 비밀번호가 서버로 전송된다 (심지어 HTTPS 라도, 서버 로그에 남을 수 있다)
  2. 규칙이 너무 제한적이다 — “대문자 1 개 이상, 숫자 2 개 이상” 같은 기본 규칙만 지원한다

저는 이 두 문제를 한 번에 해결하고 싶었습니다. 서버로 절대 전송하지 않으면서도, 어떤 규칙이든 만족시킬 수 있는 생성기가 필요했습니다.

그래서 만든 것이 이 Password Generator입니다.

🛡️ “절대 안전”이 무슨 뜻인가?

이 도구는 완전히 클라이언트 사이드에서 동작합니다. 기술적으로 말하면:

항목구현 방식의미
비밀번호 생성JavaScript (브라우저 내)서버로 전송되지 않음
엔트로피 계산JavaScript (브라우저 내)서버로 전송되지 않음
강도 평가JavaScript (브라우저 내)서버로传输되지 않음
클립보드 복사브라우저 API서버로 전송되지 않음

즉, 당신이 화면에 보이는 비밀번호는 당신의 컴퓨터 밖으로 단 한 번도 나가지 않습니다.

이것은 단순한 광고 문구가 아닙니다. 코드 수준에서 확인해 볼 수 있습니다:

// password-generator.astro 의 핵심 생성 로직
function generatePassword() {
  const charset = buildCharset(); // 문자셋 빌드 (로컬)
  let password = []; // 배열 초기화

  // 최소 포함 문자 배치 (로컬)
  for (let i = 0; i < minUpper; i++) {
    password.push(randomChar(typeCharset));
  }

  // 나머지 랜덤 채우기 (로컬)
  while (password.length < length) {
    password.push(randomChar(charset));
  }

  shuffle(password); // 셔플 (로컬)
  return password.join(""); // 문자열로 변환 (로컬)
}

이 코드에서 fetch(), XMLHttpRequest, WebSocket 같은 네트워크 호출이 전혀 없습니다. 서버로 데이터를 보내는 코드가 아예 존재하지 않는 것입니다.

💡 참고: 이 도구는 Astro 로 빌드된 정적 사이트입니다. 서버는 HTML 파일만 전달할 뿐, 비밀번호 생성 로직은 브라우저에서 실행됩니다.

📖 사용법 가이드

1️⃣ 가장 빠른 시작 (30 초)

  1. 페이지에 접속합니다
  2. 문자셋 체크박스에서 원하는 문자 종류를 선택합니다 (기본: 모두 체크)
  3. 길이 슬라이더로 비밀번호 길이를 조절합니다 (1~256 자, 기본 16)
  4. 비밀번호가 자동으로 생성됩니다!

복사 버튼을 누르면 클립보드에 복사됩니다.

2️⃣ 문자셋 설정

체크박스포함 문자기본값
☑ 대문자A-Z (26 자)체크됨
☑ 소문자a-z (26 자)체크됨
☑ 숫자0-9 (10 자)체크됨
☑ 특수문자!@#$%^&*()_+-=[]{}|;:,.<>? (32 자)체크됨

💡 : 모든 문자셋을 선택하면 94 자의 풀에서 생성되어 가장 강력한 비밀번호가 됩니다.

3️⃣ 길이 설정

  • 슬라이더 드래그 또는
  • 숫자 입력창에 직접 입력 (1~256)
  • 슬라이더와 입력창은 동기화되어 있습니다.

4️⃣ 최소 포함 규칙 (선택사항)

각 문자셋별로 최소 몇 글자 이상 포함시킬지 설정할 수 있습니다.

필드설명예시
대문자 최소반드시 포함될 대문자 개수2 → 최소 2 개의 대문자
소문자 최소반드시 포함될 소문자 개수3 → 최소 3 개의 소문자
숫자 최소반드시 포함될 숫자 개수2 → 최소 2 개의 숫자
특수문자 최소반드시 포함될 특수문자 개수1 → 최소 1 개의 특수문자

⚠️ 주의: 최소 포함 개수의 합계가 비밀번호 길이보다 크면 에러가 발생합니다.

5️⃣ 제외 문자 (선택사항)

모호한 문자 자동 제외

  • ☑ 체크 시 0Oo, 1lI, {}, [], (), <> 등이 자동 제거됩니다.
  • 예: 비밀번호에서 0(영) 과 O(대문자 오) 를 구분하기 어려울 때 유용합니다.

직접 입력으로 제외

  • 텍스트 박스에 제외할 문자를 직접 입력합니다.
  • 예: abc 입력 → 비밀번호에서 a, b, c 가 완전히 제거됩니다.
  • 특수문자 (-, [, ] 등) 도 안전하게 처리됩니다.

6️⃣ 사용자 정의 문자셋 (고급)

  1. 사용자 정의 문자셋 사용 체크박스 활성화
  2. 텍스트 영역에 원하는 문자를 직접 입력합니다.
예시설명
한글자음ㄱㄴㄷㄹㅁ한글 자음만 사용
🔥⭐💎🚀✨이모지만 사용
01바이너리 (0 과 1 만)
ABCDEFHEX 대문자만

💡 : 사용자 정의 문자셋을 활성화하면 기본 문자셋 (대/소문자, 숫자, 특수문자) 은 사용되지 않습니다.

7️⃣ 패턴/정규식 모드 (고급)

  1. 패턴 모드 활성화 체크박스 활성화
  2. 패턴 입력창에 정규식 스타일의 패턴을 입력합니다.
패턴설명예시 결과
[A-Z]대문자 1 개K
[a-z]소문자 1 개x
\d숫자 1 개7
[abc]특정 문자 중 하나a, b, 또는 c
{n}반복 횟수[A-Z]{2}AB

복합 패턴 예시:

  • [A-Z]{2}\d{3}[a-z]{4}K7M9p... (대문자 2 + 숫자 3 + 소문자 4)
  • \d{4}-[A-Z]{2}\d{3}7891-KL234 (숫자 4 - 대문자 2 숫자 3)

💡 : 패턴으로 생성된 길이가 설정 길이보다 짧으면 나머지 자리는 랜덤 문자로 채워집니다.

8️⃣ 여러 개 동시 생성 (1~20 개)

  • 동시 생성 개수 슬라이더 또는 숫자 입력으로 1~20 개 설정
  • 첫 번째 비밀번호는 메인 표시 영역에, 나머지는 생성 결과 목록에 표시됩니다.
  • 각 항목별 복사 버튼으로 개별 복사 가능합니다.

9️⃣ 내보내기 (CSV/TXT)

여러 개 생성 시 아래 버튼으로 파일 다운로드:

형식설명
텍스트각 비밀번호를 줄바꿈으로 구분한 .txt 파일
CSV번호, 비밀번호, 길이, 엔트로피, 강도 점수 포함 .csv 파일 (Excel 호환)

🔟 강도 점수 이해

? 버튼 클릭 시 상세 계산 방식 확인:

요소가중치설명
엔트로피50%bits = 길이 × log₂(문자셋 크기)
길이25%길수록 점수 ↑ (최대 25 점)
다양성25%문자셋 종류가 많을수록 ↑ (최대 25 점)

등급 기준:

점수색상등급설명
0-20🔴 빨강매우 약함즉시 추측 가능
21-40🟠 주황약함쉽게 추측 가능
41-60🟡 노랑보통어느 정도 안전
61-80🟢 라임강함안전함
81-100💚 초록매우 강함매우 안전함

🎯 추천 설정 시나리오

1. 일반적인 웹사이트 비밀번호 (권장)

문자셋: 모두 체크 ☑☑☑☑
길이: 16 자
최소 포함: 대문자 2, 소문자 3, 숫자 2, 특수문자 1
제외: 모호한 문자 제외 ☑

2. 금융/중요 계정 (최고 보안)

문자셋: 모두 체크 ☑☑☑☑
길이: 24 자 이상
최소 포함: 대문자 3, 소문자 5, 숫자 4, 특수문자 3
제외: 모호한 문자 제외 ☑

3. 코드/API 키 (특수 목적)

문자셋: 사용자 정의 체크 ☑
입력: ABCDEF0123456789 (HEX 만)
길이: 32 자

4. 패턴 기반 (특정 구조 필요 시)

패턴 모드: ☑ 활성화
패턴: [A-Z]{2}\d{4}-[a-z]{3}
길이: 10 자

🚀 사용해보기

Password Generator 바로가기

💡 : 이 도구는 오프라인에서도 사용할 수 있습니다. 한 번 페이지에 접속하면, 브라우저 캐시에 저장되어 인터넷 연결 없이도 사용할 수 있습니다 (PWA 설정 시).

마무리

비밀번호 생성기는 매일 쓰는 도구입니다. 그런데 대부분의 생성기는 서버에서 비밀번호를 생성하고, 그 결과가 서버 로그에 남을 수 있습니다.

이 도구는 그런 걱정을 완전히 없앴습니다. 비밀번호가 서버로 절대 전송되지 않으며, 모든 생성·계산이 당신의 브라우저 안에서完전히 이루어집니다.

특히:

  • 한글, 이모지 같은 특수 문자도 사용자 정의 가능
  • 패턴 모드[A-Z]{2}\d{3} 같은 복잡한 규칙도 지원
  • 여러 개 동시 생성으로 한 번에 20 개까지 생성 가능
  • CSV/TXT 내보내기로 Excel 에서도 활용 가능

만약 “정말 서버로 안 보내나?”라고 의심된다면, 브라우저 개발자 도구 (F12) → Network 탭을 열어보세요. 비밀번호 생성 중에는 단 하나의 요청도 발생하지 않습니다.

당신의 비밀번호는 당신의 것. 이 도구는 그 사실을 코드 수준에서 보장합니다. 👍

#Password #Security #Web Tool #Privacy #JavaScript