~ / developer / password-generator

🔐 비밀번호 생성기

브라우저의 암호학적 난수(crypto.getRandomValues)로 추측하기 어려운 비밀번호를 만들어요. 만든 비밀번호는 어디에도 전송·저장되지 않아요.

비밀번호
-
options
방식
16
사용할 문자
옵션
개
output

    사용법

    1. 방식을 고릅니다. 사이트 비밀번호는 무작위 문자, 직접 외워서 입력해야 하는 컴퓨터·비밀번호 관리자 마스터 비밀번호는 단어 조합(패스프레이즈)이 편해요.
    2. 슬라이더로 길이를 정하고 쓸 문자 종류를 고릅니다. 옵션을 바꿀 때마다 새 비밀번호가 바로 만들어져요.
    3. 목록에서 마음에 드는 것을 copy로 복사하세요. 맨 위 큰 글씨를 눌러도 첫 번째 비밀번호가 복사됩니다. ↻ 새로 만들기를 누르면 같은 조건으로 다시 뽑아요.

    생성은 모두 이 브라우저 안에서 이뤄집니다. 만든 비밀번호는 서버로 보내지 않고, 쿠키나 저장소에도 남기지 않아요. 페이지를 연 뒤 인터넷을 끊어도 그대로 동작합니다.

    어떻게 만들어지나요?

    엔트로피(비트)로 보는 비밀번호 강도

    엔트로피는 "무작위로 만든 비밀번호를 맞히려면 몇 번 추측해야 하는가"를 2의 거듭제곱으로 나타낸 값이에요. 무작위 문자 비밀번호는 길이 × log₂(문자 종류 수)로 계산합니다. 1비트가 늘 때마다 추측해야 할 경우의 수가 두 배가 돼요.

    계산 예시

    대문자 26 + 소문자 26 + 숫자 10 + 특수문자 25 = 87종의 문자로 16자를 만들면 16 × log₂87 ≈ 16 × 6.44 ≈ 103비트예요. 헷갈리는 문자 5개(0 O 1 l I)를 빼면 82종이 되어 약 102비트로, 차이는 1비트 정도라 걱정 없이 켜도 됩니다. 반면 숫자 6자리 PIN은 6 × 3.32 ≈ 20비트로 100만 가지뿐이에요.

    문자 구성 (종류 수)8자12자16자20자
    숫자만 (10)27비트40비트53비트66비트
    소문자만 (26)38비트56비트75비트94비트
    소문자+숫자 (36)41비트62비트83비트103비트
    대소문자+숫자 (62)48비트71비트95비트119비트
    대소문자+숫자+특수문자 (87)52비트77비트103비트129비트

    표를 보면 종류를 늘리는 것보다 길이를 늘리는 것이 훨씬 효과적이에요. 소문자만 16자(75비트)가 모든 종류를 섞은 8자(52비트)보다 강합니다.

    강도 기준

    엔트로피표시초당 100억 번 추측할 때 (평균)
    45비트 미만약함약 30분 이내
    45~59비트보통약 30분 ~ 1년
    60~79비트강함약 2년 ~ 100만 년
    80비트 이상매우 강함약 190만 년 이상

    "초당 100억 번"은 유출된 비밀번호 해시를 고성능 GPU로 오프라인 공격하는 상황을 가정한 보수적인 숫자예요. 실제 로그인 화면은 입력 횟수 제한이 있어 훨씬 느리지만, 사이트가 해킹당해 해시가 유출되면 이 속도가 현실이 됩니다. 시간은 대략적인 비교용이에요.

    패스프레이즈(단어 조합)

    Maple-Otter-Lunar-Brick7-Kite-Tiger-Cloud처럼 무작위 단어를 이어 붙인 비밀번호예요. 이 도구는 쉬운 영어 단어 512개에서 뽑으므로 단어 하나가 정확히 9비트(29 = 512)입니다. 7단어면 63비트, 숫자 하나를 붙이면 약 66비트예요. 같은 강도의 무작위 문자보다 길지만 소리 내어 읽고 외우기 쉬워서, 매번 손으로 입력해야 하는 비밀번호에 잘 맞아요.

    중요한 건 단어를 직접 고르지 않는 것이에요. 사람이 고른 "좋아하는 단어 + 생일"은 단어 수가 많아도 추측하기 쉽습니다.

    비밀번호를 안전하게 쓰는 습관

    이 페이지의 생성 코드는 페이지 안에 그대로 들어 있어 외부로 요청을 보내지 않습니다. 그래도 공용 PC에서는 복사한 비밀번호가 클립보드에 남을 수 있으니 사용 후 다른 내용을 복사해 덮어 두세요.

    자주 묻는 질문

    여기서 만든 비밀번호가 서버에 저장되나요?
    아니요. 비밀번호는 브라우저 안에서 crypto.getRandomValues로 만들고, 어디에도 전송하거나 저장하지 않습니다. 페이지를 연 뒤 인터넷을 끊어도 똑같이 동작해요.
    비밀번호는 몇 자리가 적당한가요?
    무작위로 만든다면 일반 사이트는 12~16자 이상, 이메일·금융처럼 중요한 계정은 16자 이상을 권합니다. 대소문자·숫자·특수문자를 섞은 16자는 약 103비트로 충분히 강해요.
    헷갈리는 문자 제외는 왜 있나요?
    숫자 0과 대문자 O, 숫자 1과 소문자 l·대문자 I는 글꼴에 따라 구분이 어려워 손으로 옮겨 적을 때 실수하기 쉽습니다. 빼도 강도는 16자 기준 1비트 정도만 줄어들어요.
    엔트로피 비트는 무엇인가요?
    무작위로 만든 비밀번호를 맞히는 데 필요한 경우의 수를 2의 거듭제곱으로 나타낸 값입니다. 60비트면 2의 60제곱 가지로, 1비트 늘 때마다 두 배씩 어려워져요.
    패스프레이즈가 무작위 문자보다 안전한가요?
    비트 수가 같으면 안전성도 같습니다. 패스프레이즈는 같은 강도에서 더 길지만 외우고 입력하기 쉬워서, 마스터 비밀번호처럼 직접 기억해야 하는 곳에 좋아요. 단, 단어는 반드시 무작위로 뽑아야 합니다.

    이 도구와 함께 보면 좋은 글

    관련 도구