이 도구가 하는 일
비밀번호를 입력하면 길이와 포함된 문자 종류를 바탕으로 엔트로피(bit)를 계산하고, 그 값으로 무차별 대입 공격에 걸리는 시간을 추정합니다. 새 비밀번호를 정하기 전에 후보의 대략적인 체급을 보거나, 회사·학교의 비밀번호 정책이 실제로 안전한지 감을 잡을 때 쓰면 좋습니다. 계산은 단순한 수식이라 "이 비밀번호는 절대 안전하다"를 보장하지 않으며, 아래의 한계 항목을 함께 읽어야 합니다.
엔트로피 계산 원리
공격자가 아무 정보 없이 모든 조합을 하나씩 시도한다고 가정하면, 가능한 조합의 수는 문자 집합 크기(N)의 길이(L) 제곱, 즉 NL입니다. 엔트로피는 이 조합 수에 로그를 취한 값으로H = L × log₂(N) bit 입니다. 이 도구가 쓰는 문자 집합 크기는 소문자 포함 시 26, 대문자 26, 숫자 10, 그 밖의 모든 문자(특수문자·한글·이모지 포함)가 하나라도 있으면 32를 더하는 방식입니다. 예상 해독 시간은 2H ÷ 1010초(전체 조합을 다 훑는 최악의 경우, 평균은 그 절반)로 계산합니다.
비트가 1 늘어날 때마다 조합 수는 두 배가 됩니다. 그래서 길이를 한 글자 늘리는 효과는 문자 집합 크기에 비례해 커집니다. 영문 소문자만 쓴 경우 한 글자가 약 4.7 bit, 94종 전체를 쓴 경우 약 6.55 bit 입니다.
문자 집합 x 길이 참고표 (빌드 시 계산)
| 길이 | 숫자만 (10) | 소문자만 (26) | 소문자+숫자 (36) | 대소문자+숫자 (62) | 영문+숫자+특수문자 (94) |
|---|---|---|---|---|---|
| 8자 | 26.6 bit 1초 미만 | 37.6 bit 21초 | 41.4 bit 5분 | 47.6 bit 6시간 | 52.4 bit 7일 |
| 10자 | 33.2 bit 1초 | 47.0 bit 4시간 | 51.7 bit 4일 | 59.5 bit 3년 | 65.5 bit 171년 |
| 12자 | 39.9 bit 2분 | 56.4 bit 110일 | 62.0 bit 15년 | 71.5 bit 10,230년 | 78.7 bit 1.5e+6년 |
| 16자 | 53.2 bit 12일 | 75.2 bit 138,282년 | 82.7 bit 2.5e+7년 | 95.3 bit 1.5e+11년 | 104.9 bit 1.2e+14년 |
| 20자 | 66.4 bit 317년 | 94.0 bit 6.3e+10년 | 103.4 bit 4.2e+13년 | 119.1 bit 2.2e+18년 | 131.1 bit 9.2e+21년 |
표에서 숫자만 12자(약 39.9 bit)가 소문자만 8자(약 37.6 bit)와 비슷한 수준이라는 점, 특수문자를 섞은 8자보다 소문자만 쓴 16자(약 75.2 bit)가 훨씬 높다는 점을 볼 수 있습니다. 시간은 모두 "무작위로 고른" 비밀번호일 때만 성립하는 이론값입니다.
예시 입력으로 본 결과와 해석
아래는 이 도구의 공식에 그대로 넣어 계산한 값입니다(node로 같은 공식을 돌려 확인). 일부러 잘 알려진 약한 예시를 골랐습니다.
| 입력 예시 | 길이 | 문자 집합 | 엔트로피 | 예상 해독 시간 |
|---|---|---|---|---|
| 12345678 | 8 | 10 | 26.6 bit | 1초 미만 |
| password | 8 | 26 | 37.6 bit | 21초 |
| P@ssw0rd! | 9 | 94 | 59.0 bit | 2년 |
| Tr0ub4dor&3 | 11 | 94 | 72.1 bit | 16,055년 |
| aaaaaaaaaaaaaaaa | 16 | 26 | 75.2 bit | 138,282년 |
| correcthorsebatterystaple | 25 | 26 | 117.5 bit | 7.5e+17년 |
| 비밀번호 | 4 | 32 | 20.0 bit | 1초 미만 |
- 12345678은 숫자 8자라 약 26.6 bit이며 1초도 걸리지 않지만, 실제로는 유출 목록 맨 앞에 있어 계산 이전에 이미 탈락입니다.
- P@ssw0rd!는 이론상 약 59 bit로 "약함" 근처지만,
password에서 글자를 기호로 바꾼 전형적인 패턴이라 사전 공격에는 이론값보다 훨씬 빨리 뚫립니다. 이 도구는 이런 치환 패턴을 경고합니다. - aaaaaaaaaaaaaaaa(a 16개)는 공식상 약 75 bit이지만, 한 글자 반복이라 실제 정보량은 거의 0에 가깝습니다. 엔트로피 공식은 "무작위로 골랐다"는 전제가 깨지면 의미를 잃는다는 대표 사례입니다.
- correcthorsebatterystaple은 영문 소문자 25자로 약 117 bit입니다. 다만 단어 4개가 무작위로 뽑혔을 때의 이야기이고, 이 문구는 워낙 유명해 이미 사전에 들어 있습니다. 직접 만든 패스프레이즈는 무작위 단어 조합이어야 효과가 있습니다.
- 비밀번호(한글 4자)는 한글이 "그 밖의 문자" 32종으로 취급되어 20 bit로 나옵니다. 한글 음절은 실제로 1만 개 이상이라 이 계산은 보수적(낮은 쪽)이지만, 공격자가 한글 단어 사전을 쓰면 오히려 약합니다.
강도 등급 기준
이 도구의 구간은 40 bit 미만 매우 약함, 40~60 약함, 60~80 보통, 80~100 강함, 100 이상 매우 강함입니다. 이 경계는 학계 표준이 아니라 이 사이트가 정한 참고용 눈금입니다. 흔한 패턴·반복·연속이 감지되면 계산값과 상관없이 등급을 낮춰서 표시합니다.
NIST 등 최신 지침이 말하는 것
미국 NIST의 디지털 신원 지침 SP 800-63B는 2025년 개정(Rev.4)에서 길이와 차단 목록을 강조하는 방향을 유지했습니다. NIST 원문(pages.nist.gov/800-63-4, 3.1.1.2절 "Password Verifiers")을 직접 확인한 내용은 다음과 같습니다. 비밀번호가 단독 인증 수단이면 최소 15자(SHALL), 다단계 인증의 일부로만 쓰면 최소 8자(SHALL)를 요구해야 하고, 최대 길이는 최소 64자까지 허용하도록 권고(SHOULD)하며, 문자 종류를 섞게 하는 등의 구성 규칙은 강제하지 않아야 하고(SHALL NOT), 흔히 쓰이는 비밀번호 차단 목록과 전체 문자열을 대조해야 하며, 유출 증거가 없는데 주기적으로 변경하도록 요구해서는 안 됩니다(SHALL NOT). 유니코드 문자는 코드 포인트 하나를 1자로 세도록 규정합니다. 세부 조항과 적용 대상은 원문에서 확인하시기 바랍니다. 국내 규정(개인정보 안전성 확보조치 등)은 별도로 최소 길이와 조합을 요구할 수 있으므로 서비스 운영자는 해당 고시를 따로 확인해야 합니다.
흔한 실수와 오해
- 기호만 끼워 넣으면 안전하다: 끝에 느낌표나 숫자 1을 붙이는 습관은 공격 도구가 가장 먼저 시도하는 규칙입니다.
- 한 번 만든 비밀번호를 여러 사이트에 재사용: 한 곳이 유출되면 같은 조합으로 다른 서비스에 대입하는 공격(크리덴셜 스터핑)에 속수무책입니다. 엔트로피가 아무리 높아도 재사용하면 소용없습니다.
- 생일·전화번호·이름·키보드 배열: qwerty, 1q2w3e4r, asdf1234 같은 키보드 패턴도 사전에 있습니다.
- 해독 시간이 수백 년이니 안심: 서비스 측에서 해시를 어떻게 저장하느냐, 공격자가 초당 몇 회를 시도할 수 있느냐에 따라 크게 달라지는 가정입니다. 이 도구의 초당 100억 회는 빠른 해시를 오프라인으로 공격하는 상황을 상정한 한 가지 가정일 뿐입니다.
이 도구의 한계
- 유출 비밀번호 데이터베이스와 대조하지 않습니다. 소수의 흔한 패턴만 내장 목록으로 점검하므로 "경고가 없다"가 "안전하다"는 뜻이 아닙니다.
- 길이는 코드 포인트 기준으로 세므로 이모지 한 개는 1자로 계산됩니다. 서비스마다 길이를 세는 방식(UTF-16, 바이트)이 달라 같은 문자열이 허용 길이를 넘거나 모자랄 수 있습니다.
- 한글·이모지 등을 전부 "특수문자 32종"으로 묶어 계산하는 단순화가 있습니다.
- 다단계 인증(MFA), 로그인 시도 횟수 제한, 서버의 해시 방식(bcrypt, Argon2 등)이 주는 방어는 반영하지 않습니다.
보안·개인정보 관련 주의
이 페이지의 계산은 입력 이벤트가 발생할 때 브라우저에서 실행되는 스크립트 안에서 끝나며, 입력값을fetch나 폼 전송으로 보내는 코드는 없습니다(페이지 스크립트를 확인했습니다). 입력창은 기본적으로 마스킹되고 "입력 내용 보이기"를 켜야 보입니다. 다만 브라우저 확장 프로그램, 공용 PC의 키로거, 어깨너머 시선은 이 도구가 막을 수 없습니다. 광고 스크립트가 로드되는 일반 웹페이지에서는 어떤 곳이든 "실제 쓰는 비밀번호를 그대로 붙여넣지 않는 것"이 가장 안전한 습관입니다. 같은 길이와 문자 구성의 비슷한 문자열로 시험해 보세요.
결과를 활용하는 방법
80 bit 이상이면서 흔한 패턴 경고가 없고, 다른 서비스에서 쓰지 않는 비밀번호라면 일반적인 계정에는 충분한 편입니다. 중요한 계정(이메일, 금융, 비밀번호 관리자 마스터)은 길이 16자 이상의 무작위 문자열이나 4~6개 단어로 만든 패스프레이즈를 쓰고 다단계 인증을 함께 켜세요. 외우기 어려운 것은 비밀번호 관리자에 맡기는 것이 현실적입니다. 무작위 후보가 필요하면 비밀번호 생성기를 사용하세요.
관련 도구
- 비밀번호 생성기: 무작위 비밀번호 만들기
- 해시 생성기: 문자열이 해시로 바뀌는 방식 확인
- 정규식 테스터: 비밀번호 정책용 패턴 검증 실험
- 글자수·단어수 세기: 문구 길이 확인
자주 묻는 질문
입력한 비밀번호가 어딘가에 저장되나요?
아니요. 계산은 브라우저 안에서만 이루어지고 입력값을 서버로 보내거나 저장하는 코드는 없습니다. 페이지를 닫으면 입력도 사라집니다.
실제 해킹 공격도 이 계산과 똑같이 이루어지나요?
아니요. 실제 공격은 유출 목록·사전·규칙 기반 변형을 먼저 시도하므로, 이 도구의 결과는 순수 무차별 대입을 가정한 이론 수치입니다. 흔한 패턴은 이론값보다 훨씬 빨리 뚫립니다.
특수문자를 꼭 넣어야 하나요?
NIST 지침은 구성 규칙의 강제를 권하지 않고 길이와 유출 목록 차단을 중시합니다. 다만 사이트가 요구한다면 따라야 하며, 가능하면 길이를 먼저 늘리세요. 일부러 요구 조건만 겨우 채운 짧은 비밀번호는 오히려 예측 가능합니다.
한글 비밀번호는 안전한가요?
한글 음절은 종류가 많아 이론적 조합 수는 크지만, 사람이 고르는 한글 단어는 사전 공격 대상입니다. 또한 서비스에 따라 한글 입력을 허용하지 않거나 인코딩 문제가 생길 수 있어, 이 도구는 한글을 보수적으로 32종으로 취급합니다.
몇 bit 이상이면 충분한가요?
정해진 정답은 없습니다. 온라인 로그인처럼 시도 횟수가 제한된 환경은 낮아도 버티고, 해시 파일이 유출된 오프라인 공격에는 훨씬 높아야 합니다. 이 사이트의 눈금으로는 80 bit 이상을 "강함", 100 bit 이상을 "매우 강함"으로 표시합니다.
주기적으로 비밀번호를 바꿔야 하나요?
NIST는 유출 징후가 없는 한 정기 변경을 강제하지 않도록 권고합니다. 다만 유출이 의심되거나 재사용 중이었다면 즉시 바꾸고, 소속 기관의 정책이 따로 있으면 그에 따르세요.