본문으로 건너뛰기
ZEKILO Dev

비밀번호 생성

브라우저 암호 API로 무작위 비밀번호를 만듭니다. 생성한 비밀번호는 기록하지 않습니다.

입력값은 브라우저 밖으로 나가지 않음Web Crypto API기준일 2026.10.03

생성한 비밀번호

생성한 비밀번호는 기록하지 않습니다. 비밀번호 관리자에 바로 저장하세요. 페이지를 떠나거나 새로 고치면 사라집니다.

비밀번호 생성 사용 방법

  1. 1길이(4~128)와 문자 종류를 고릅니다. 새 비밀번호가 바로 나타납니다.
  2. 2목록 아래의 강도를 확인합니다. 다른 비밀번호가 필요하면 「다시 생성」을 누릅니다.
  3. 3비밀번호 옆의 복사 버튼을 누른 뒤 비밀번호 관리자에 저장합니다.

비밀번호 생성 옵션

길이
4~128자. 기본값은 16자입니다.
문자 종류
대문자(26), 소문자(26), 숫자(10), 기호(32). 기본은 네 가지 모두이며 적어도 하나는 골라야 합니다.
헷갈리는 문자 빼기 (I l 1 O 0)
서로 헷갈리기 쉬운 다섯 글자(대문자 I, 소문자 l, 숫자 1, 대문자 O, 숫자 0)를 뺍니다.
종류마다 1자 이상
기본은 켬입니다. 고른 종류마다 한 글자 이상 들어가게 하고, 그 뒤에 자리를 섞습니다.
개수
한 번에 1~100개. 기본값은 5개입니다.

비밀번호를 만드는 방법

글자는 모두 Web Crypto API의 crypto.getRandomValues로 뽑습니다. 32비트 난수를 받아 쓸 수 있는 글자 목록에 대응시킵니다. 나머지 연산만 쓰면 목록 앞쪽 글자가 조금 더 자주 나오므로, 범위 위쪽의 고르지 않은 구간에 든 난수는 버리고 다시 뽑습니다. 이것을 거부 표본추출이라고 합니다.

「종류마다 1자 이상」을 켜면 먼저 고른 종류마다 한 글자씩 뽑고, 남은 자리는 쓸 수 있는 모든 글자에서 뽑은 뒤, 같은 난수원으로 자리를 섞습니다(Fisher–Yates). 섞지 않으면 앞자리가 늘 같은 종류 순서가 됩니다.

강도 읽는 법

목록 아래 숫자는 엔트로피입니다. 길이 × log2(쓸 수 있는 글자 수)로 계산합니다. 한 글자를 늘릴 때마다 같은 만큼 커지므로, 문자 종류를 하나 더하는 것보다 길이를 늘리는 쪽이 효과가 큽니다. 94종 16자는 104.9비트, 영문자와 숫자 20자는 119.1비트입니다.

비밀번호 생성 예시

  • 기본 설정: 94종에서 16자

    엔트로피(비트)입니다. 80~127비트는 「강함」으로 표시합니다.

    입력

    16 × log2(94)

    출력

    104.9
  • 20자, 영문자와 숫자만 (62종)

    엔트로피(비트)입니다. 기호가 없어도 길이를 늘리면 기본 설정보다 엔트로피가 큽니다.

    입력

    20 × log2(62)

    출력

    119.1

예시는 이 도구를 검증하는 기준 사례의 값입니다.

비밀번호 생성 자주 묻는 질문

입력값이 서버로 전송되나요?

아니요. 입력과 결과는 이 브라우저 안에서만 처리되며 저장하지도 않습니다. 새로 고침하면 사라집니다.

생성한 비밀번호가 어딘가에 남나요?

생성한 비밀번호는 기록하지 않습니다. 비밀번호 관리자에 바로 저장하세요. 값은 이 화면에만 있고 페이지를 떠나거나 새로 고치면 사라집니다. 내려받기 버튼이 없는 것도 같은 이유입니다.

얼마나 무작위인가요?

글자마다 브라우저의 암호용 난수원인 crypto.getRandomValues로 뽑습니다. 일부 글자가 더 자주 나오게 만드는 난수는 버리고 다시 뽑기 때문에(거부 표본추출) 모든 글자가 같은 확률로 나옵니다. Math.random은 쓰지 않습니다.

강도 숫자는 무슨 뜻인가요?

엔트로피 비트입니다. 길이 × log2(쓸 수 있는 글자 수)로 계산합니다. 50비트 미만은 약함, 50~79는 보통, 80~127은 강함, 128 이상은 매우 강함입니다. 기본 설정인 94종 16자는 104.9비트입니다.

기호를 받지 않는 사이트에서는 어떻게 하나요?

기호를 끄고 길이를 늘리세요. 영문자와 숫자 20자는 119.1비트로, 기호를 넣은 기본 16자보다 큽니다.

처리 방식·표준

  • 처리 위치: 이 브라우저 (내 기기). 전송하거나 저장하지 않습니다.
  • 표준: Web Crypto API
  • 엔진: Web Crypto API (crypto.getRandomValues) (브라우저 내장) · ZEKILO Dev 비밀번호 생성기 (자체 구현)
  • 강도는 모든 글자를 무작위로 뽑았을 때의 값입니다. 손으로 고친 비밀번호에는 맞지 않습니다.
  • 계정마다 다른 비밀번호를 쓰세요.
  • 기준일 2026.10.03
  • 변경 이력: 2026.10.03 처음 공개
오픈소스 라이선스 →
결과가 이상한가요? 오류 신고하기(입력값은 첨부되지 않습니다)