비밀번호 생성기
무료 온라인 비밀번호 생성기. Web Crypto 보안 난수 소스를 기반으로 강력한 무작위 비밀번호, 기억하기 쉬운 암호구, 숫자 PIN을 생성합니다. 강도 감지, 혼동하기 쉬운 문자 제외, 일괄 내보내기를 지원합니다. 브라우저 로컬에서 생성되며 업로드는 전혀 없습니다.
무료 온라인 비밀번호 생성기. Web Crypto 보안 난수 소스를 기반으로 강력한 무작위 비밀번호, 기억하기 쉬운 암호구, 숫자 PIN을 생성합니다. 강도 감지, 혼동하기 쉬운 문자 제외, 일괄 내보내기를 지원합니다. 브라우저 로컬에서 생성되며 업로드는 전혀 없습니다.
Math.random()은 범용 의사 난수 생성기로 보안 시나리오용으로 설계되지 않았으며 내부 상태가 역추론될 수 있습니다. crypto.getRandomValues()는 운영 체제의 암호학적 안전 난수 소스(CSPRNG)를 사용하여 생성된 난수는 예측 불가능하며 비밀번호, 키 등의 보안 시나리오에 적합합니다.
아니요. 모든 비밀번호는 브라우저 로컬에서 생성되며 강도 분석, 엔트로피 계산, 크래킹 시간 추정도 모두 로컬에서 완료됩니다. 개발자 도구 네트워크 패널을 열면 외부 요청이 전혀 없음을 확인할 수 있습니다.
대소문자+숫자+기호를 포함하여 최소 12자 이상을 권장합니다. 16자 무작위 비밀번호는 현대 컴퓨팅 성능으로 무차별 대입하는 데 수억 년이 걸립니다. 길이가 1자 증가할 때마다 검색 공간은 기하급수적으로 증가합니다. 위의 크래킹 시간 표를 참조하세요.
동일한 길이에서는 무작위 비밀번호의 엔트로피가 더 높습니다. 하지만 기억하기 쉬운 암호구(4-6개의 무작위 단어로 구성)도 총 엔트로피가 충분히 높고(~60bit 이상) 기억하기 쉬워 수동 입력이 필요한 시나리오에 적합합니다. 중요한 것은 직접 만든 구문이 아니라 진정으로 무작위로 선택된 단어여야 한다는 것입니다.
이러한 문자는 일부 글꼴에서 구분하기 어려워 입력 오류를 일으킬 수 있습니다. 비밀번호를 수동으로 입력하거나 전화로 구두로 전달하거나 인쇄하여 배포해야 하는 경우 제외 옵션을 켜는 것을 권장합니다. 비밀번호 관리자만 사용하는 경우 모든 문자를 유지하면 더 높은 엔트로피를 얻을 수 있습니다.
NIST 최신 가이드라인(SP 800-63B)에서는 비밀번호 유출이 확인되지 않는 한 정기적인 비밀번호 변경을 더 이상 권장하지 않습니다. 정기적인 강제 변경은 오히려 사용자가 약한 비밀번호를 선택하거나 적어두게 만듭니다. 더 나은 방법은 긴 무작위 비밀번호+비밀번호 관리자+2단계 인증(2FA)을 활성화하는 것입니다.
엔트로피는 비밀번호의 예측 불가능성을 측정하는 지표로 단위는 bit입니다. 엔트로피 = log₂(문자 풀 크기^비밀번호 길이). 예를 들어 94개의 인쇄 가능한 ASCII 문자에서 무작위로 선택된 16자 비밀번호의 경우 엔트로피는 log₂(94¹⁶) ≈ 104 bit입니다. 엔트로피가 높을수록 무차별 대입이 어려워집니다.
비밀번호 생성기는 무작위이고 예측 불가능한 비밀번호를 생성하는 도구입니다. 사람이 디자인한 비밀번호와 달리 진정한 비밀번호 생성기는**암호학적 안전 의사 난수 생성기(CSPRNG)**를 사용하여 지정된 문자 풀에서 문자를 무작위로 추출하여 사람이 비밀번호를 설정할 때의 고유한 예측 가능한 패턴(이름+생일, qwerty 같은 키보드 연속 입력, 회사명+연도 등)을 피함으로써 자격 증명 스터핑, 사전 공격, 무차별 대입의 위험을 크게 줄입니다.
**왜 Math.random()을 사용하면 안 되나요**: 일반 의사 난수 생성기는 내부 상태가 적은 출력에서 역추론될 수 있어 공격자가 이후에 생성되는 '무작위' 수를 예측할 수 있습니다. 이 도구는 브라우저 Web Crypto API인 crypto.getRandomValues()를 사용하며 운영 체제 수준의 CSPRNG(Linux의 getrandom, macOS의 SecRandomCopyBytes, Windows의 BCryptGenRandom 등)를 호출하여 생성되는 난수는 암호학적 무작위성 테스트를 통과한 예측 불가능한 것입니다.
**비밀번호 강도의 핵심은 엔트로피(Entropy)입니다**: 엔트로피 = log₂(문자 풀 크기^비밀번호 길이), 단위는 bit입니다. 예를 들어 94개의 인쇄 가능한 ASCII 문자에서 무작위로 선택된 16자 비밀번호의 경우 엔트로피는 약 104 bit이며, 이는 공격자가 올바른 비밀번호를 찾기 위해 평균적으로 2¹⁰³회의 시도가 필요함을 의미합니다—초당 1조 회를 시도해도 약 2000억 년이 걸립니다.
**기억하기 쉬운 암호구(Passphrase)**: 무작위로 선택된 여러 단어로 구성되며(예: Brave-Cloud-Star42), 무작위 비밀번호보다 '단순'해 보이지만 단어가 진정으로 무작위로 선택된 경우 총 엔트로피는 60 bit 이상에 도달하여 대부분의 시나리오에서 충분히 안전하며 동등한 강도의 무작위 비밀번호보다 훨씬 기억하기 쉽습니다. 이는 XKCD #936의 유명한 만화와 Diceware 방식의 핵심 아이디어입니다.
**모든 비밀번호는 브라우저 로컬에서 생성되며** 어떤 서버에도 전송되지 않습니다. 이 도구는 동시에 강도 감지도 제공합니다: 엔트로피 계산, 무차별 대입 시간 추정, 약한 비밀번호 패턴 감지(중복 문자, 연속된 숫자/문자, 일반적인 약한 비밀번호 매칭)를 통해 생성된 비밀번호의 실제 보안 강도를 이해하는 데 도움을 줍니다.
| 비밀번호 길이 | 엔트로피(bit) | 조합 수 | 무차별 대입 시간(1조 회/초) | 보안 등급 |
|---|---|---|---|---|
6자 | ~37 | 약 1390억 | < 1초 | ❌ 매우 약함 |
8자 | ~52 | 약 2.2×10¹⁴ | 약 2.5일 | ❌ 약함 |
10자 | ~65 | 약 3.7×10¹⁸ | 약 116년 | ⚠️ 보통 |
12자 | ~78 | 약 6.1×10²² | 약 193만 년 | ✅ 강함 |
16자 | ~104 | 약 6.3×10³⁰ | 약 2000억 년 | ✅✅ 매우 강함 |
20자 | ~131 | 약 6.7×10³⁸ | 우주 나이의 억억 배 | ✅✅✅ 뚫을 수 없음 |
| 모드 | 형식 예시 | 일반적인 엔트로피 | 기억 용이성 | 권장 시나리오 |
|---|---|---|---|---|
| 무작위 비밀번호 | xK9#mP2$vL8@nQ4! | 문자당 ~6.5bit | 나쁨 | 비밀번호 관리자에 저장하는 마스터 비밀번호, 데이터베이스 비밀번호, API 키 |
| 기억하기 쉬운 암호구 | Brave-Cloud-Star42 | 단어당 ~10bit | 좋음 | 사람이 기억해야 하는 Wi-Fi 비밀번호, 로그인 비밀번호 |
| 숫자 PIN | 482917 | 숫자당 3.3bit | 좋음 | 기기 잠금 화면, 은행 카드 PIN, 일회성 인증 코드 |