비밀번호 생성기
암호학적으로 안전한 비밀번호를 생성합니다. 길이와 문자 집합을 커스터마이즈, 엔트로피 측정 포함. 무료, 브라우저에서 처리.
- 브라우저에서 처리
- 데이터가 브라우저 밖으로 나가지 않습니다
- 무료 · 회원가입 불필요
WeChat으로 스캔하여 공유
예시·자세한 설명·자주 묻는 질문 실제 출력이 있는 예시, 다른 도구와의 차이, 자주 묻는 질문.
해설서의 비밀번호 작성 규칙과 강도 표시
「개인정보의 안전성 확보조치 기준 해설서」 2017년 1월판은 제5조 제5항(46쪽)에서, 개인정보처리자가 개인정보취급자나 정보주체가 쓸 비밀번호 작성규칙을 정해 개인정보처리시스템, 접근통제시스템, 인터넷 홈페이지 등에 적용하도록 설명합니다. 아래 내용은 현행판이 아니라 이 2017년판 기준입니다. 47쪽의 「비밀번호 작성규칙 예시」는 영대문자, 영소문자, 숫자, 특수문자 중 2종류 이상을 조합하면 최소 10자리, 3종류 이상으로 구성하면 최소 8자리로 설정하도록 안내합니다. 이 최소 기준을 이 도구에서 그대로 설정하면 강도 표시는 다음과 같습니다.
| 기준 | 이 도구의 설정 | 강도 표시 |
|---|---|---|
| 2종류 이상, 최소 10자리 | 소문자 + 숫자, 길이 10 | 약함 (52 bits) |
| 3종류 이상, 최소 8자리 | 대문자 + 소문자 + 숫자, 길이 8 | 약함 (48 bits) |
| (참고) 이 도구의 기본값 | 네 종류 모두, 길이 20 | 매우 강함 (129 bits) |
해설서의 최소 길이는 말 그대로 하한입니다. 그 길이에 맞춰 무작위로 만들어도 강도 표시는 「약함」에 머뭅니다. 해설서도 47쪽에 「기술 발달에 따라 비밀번호의 최소 길이는 늘어날 수 있다」고 적고 있습니다. 비밀번호 관리자에 저장할 비밀번호라면 기본값 20자 그대로 쓰는 편이 낫습니다.
조합 규칙을 검사하는 사이트에서는 한 가지 더 주의할 점이 있습니다. 이 도구는 종류마다 한 글자 이상 넣는다는 보장을 하지 않습니다. 소문자 + 숫자로 10자를 만들면 약 3.9%는 소문자만 또는 숫자만으로 이루어져 「2종류 이상」을 만족하지 못하고, 대문자 + 소문자 + 숫자로 8자를 만들면 약 26.9%는 세 종류 중 하나가 빠집니다. 거부되면 생성을 다시 누르거나 길이를 늘리세요.
같은 해설서는 비밀번호를 최소 6개월마다 바꾸도록 안내하지만, 최신 NIST SP 800-63B는 정기적인 변경을 요구하지 말고, 유출 정황이 있을 때만 바꾸게 하라고 정하고 있습니다. 문자 종류 조합을 강제하는 규칙도 금지합니다. 두 문서의 입장이 다르므로, 회사나 기관의 규정이 있다면 그 규정을 먼저 확인하세요.
강도 표시는 이렇게 계산합니다
강도 표시는 비밀번호가 「복잡해 보이는지」를 판단하지 않습니다. 선택한 문자 목록에서 한 글자씩 같은 확률로 고르므로, 만들 수 있는 비밀번호의 수는 「목록 크기를 길이만큼 거듭제곱한 값」이고 비트 수는 길이 × log2(목록 크기)입니다. 다섯 단계의 경계는 고정입니다. 40비트 미만은 「매우 약함」, 4059는 「약함」, 6079는 「보통」, 80~99는 「강함」, 100 이상은 「매우 강함」입니다. 숫자 뒤의 단위는 모든 언어 페이지에서 bits로 표시합니다.
목록 크기는 대문자 26, 소문자 26, 숫자 10, 기호 26을 더한 값입니다. 기호를 쓸 수 없는 사이트라면 기호를 끄고 길이를 늘리면 됩니다.
- 대문자 + 소문자 + 숫자, 길이 16:
강함 (95 bits) - 대문자 + 소문자 + 숫자, 길이 20:
매우 강함 (119 bits) - 네 종류 모두에서 혼동하기 쉬운 0, O, l, 1, I를 제외(83자), 길이 16:
매우 강함 (102 bits)
제한
- 길이는 4~128자입니다. 범위를 벗어난 값은 4 또는 128로 맞추며, 0이나 빈칸은 20으로 처리합니다.
- 종류별 포함을 보장하지 않습니다. 문자를 독립적으로 고르므로 숫자나 기호가 빠질 수 있습니다.
- 기호는 ASCII 26개로 고정입니다. 기호를 직접 지정하거나 특정 기호만 뺄 수 없습니다.
- 패스프레이즈는 만들지 않습니다. 단어를 이어 붙이는 방식(Diceware 등)이 아니라 문자 비밀번호만 생성합니다.
- bcrypt는 앞 72바이트만 씁니다. 사이트가 bcrypt로 비밀번호를 저장한다면 72자를 넘는 부분은 효과가 없습니다. bcrypt 해시는 Bcrypt 해시 생성기·검증으로 만들 수 있습니다.
- 아무것도 저장하지 않습니다. 결과를 어디에도 기록하지 않으므로 탭을 닫으면 비밀번호는 남지 않습니다. 떠나기 전에 비밀번호 관리자에 저장하세요.
비밀번호 관리 요령
- 서비스마다 다른 비밀번호를 씁니다. 한 서비스에서 유출된 아이디와 비밀번호는 다른 서비스에서도 시도됩니다.
- 이름, 생일, 전화번호 같은 개인 정보는 일부라도 넣지 않습니다.
- 비밀번호가 강해도 2단계 인증을 쓸 수 있는 곳에서는 켜 둡니다. 2FA 코드 생성기 (TOTP)에서 인증 앱의 6자리 코드가 어떻게 계산되는지 확인할 수 있습니다.
FAQ
생성한 비밀번호가 저장되거나 전송되나요?
아니요. 비밀번호는 브라우저에서 Web Crypto API로 생성하며, 서버로 보내지도 않고 브라우저 저장소에 쓰지도 않습니다. 이 페이지는 Google Analytics와 AdSense를 불러오지 않습니다. 탭을 닫으면 비밀번호는 남지 않습니다.
암호학적으로 안전한 난수를 쓰나요?
네. 각 문자는 브라우저가 제공하는 암호학적으로 안전한 난수원인 window.crypto.getRandomValues()로 고릅니다. 일부 문자가 조금 더 자주 나오게 만드는 32비트 값(나머지 연산 편향)은 버리고 다시 뽑기 때문에, 선택한 문자 목록의 모든 문자가 같은 확률로 나옵니다.
비밀번호 길이는 얼마로 해야 하나요?
NIST SP 800-63B는 비밀번호만으로 인증할 때는 15자 이상, 다중 인증의 일부로 쓸 때는 8자 이상을 요구합니다. 기본 88자 목록으로는 16자가 약 103비트, 20자가 약 129비트입니다. 비밀번호 관리자에 저장하면 길어도 외울 필요가 없습니다.
사이트에서 숫자나 특수문자가 없다며 거부했습니다. 왜 그런가요?
각 문자는 선택한 문자 종류에서 독립적으로 고르기 때문에, 종류마다 한 글자 이상 들어간다는 보장이 없습니다. 네 종류를 모두 선택하고 20자로 만들면 약 9%의 비밀번호에는 숫자가 없습니다. 생성을 다시 누르거나 길이를 늘리세요.
어떤 기호가 들어가나요?
26개입니다: ! @ # $ % ^ & * ( ) - _ = + [ ] { } | ; : , . < > ?. 따옴표, 역슬래시, 슬래시, 백틱, 물결표, 공백은 쓰지 않으므로 셸 명령이나 JSON, 설정 파일에 붙여 넣을 때 이스케이프할 필요가 없습니다.