사용 방법
- 길이(기본 16자)를 정하고 쓸 문자 종류(대문자·소문자·숫자·기호)를 고릅니다. 고른 종류는 각각 최소 한 글자씩 반드시 들어갑니다.
- 손으로 옮겨 적어야 한다면 헷갈리는 문자 제외(I l 1 O 0 o)를 켜세요. 사이트가 특정 기호를 받지 않으면 추가로 뺄 문자에 적으면 됩니다.
- 개수를 1~20개로 정하면 바로 만들어집니다. 마음에 들지 않으면 다시 생성, 쓸 비밀번호는 옆의 복사 버튼으로 가져갑니다.
엔트로피와 강도
엔트로피는 무작위 비밀번호를 추측하기 어려운 정도를 비트로 나타낸 값으로, **길이 × log₂(문자 풀 크기)**로 계산합니다. 1비트가 늘 때마다 가능한 조합 수가 두 배가 됩니다.
| 문자 구성 | 풀 크기 | 12자 | 16자 | 20자 |
|---|---|---|---|---|
| 숫자만 | 10 | 39.9비트 | 53.2비트 | 66.4비트 |
| 소문자만 | 26 | 56.4비트 | 75.2비트 | 94.0비트 |
| 대·소문자 + 숫자 | 62 | 71.5비트 | 95.3비트 | 119.1비트 |
| 대·소문자 + 숫자 + 기호 28종 | 90 | 77.9비트 | 103.9비트 | 129.8비트 |
강도 표시는 이 도구의 기준입니다: 40비트 미만 매우 약함, 60 미만 약함, 80 미만 보통, 100 미만 강함, 100 이상 매우 강함. 이 값은 사람이 고른 비밀번호가 아니라 무작위로 생성한 비밀번호에만 의미가 있습니다.
길이가 복잡도보다 중요한 이유
위 표에서 16자 비밀번호에 기호를 추가하면(62 → 90종) 95.3비트가 103.9비트로 8.6비트 늘어납니다. 같은 효과는 대·소문자 + 숫자 그대로 두 글자만 늘려도 얻습니다(18자 = 107.2비트). 기호 강제 규칙은 사람들이 Password1!처럼 뻔한 패턴을 쓰게 만들 뿐이어서, 미국 NIST의 디지털 신원 가이드라인(SP 800-63B)도 문자 조합 규칙보다 충분한 길이와 유출된 비밀번호 목록 대조를 권합니다.
패스프레이즈와 비밀번호 관리자
- 패스프레이즈: 외워야 하는 비밀번호(컴퓨터 로그인, 관리자 마스터 비밀번호)는 무작위로 고른 단어 여러 개를 이어 붙이는 방식이 좋습니다. 7,776개 단어 목록(Diceware)에서 주사위로 고르면 단어 하나가 약 12.9비트라 6단어면 약 77.5비트입니다. 직접 지은 문장은 무작위가 아니어서 이만큼 강하지 않습니다.
- 비밀번호 관리자: 사이트마다 서로 다른 비밀번호를 쓰는 것이 가장 중요합니다. 한 곳에서 유출된 비밀번호를 다른 사이트에 대입하는 공격이 흔하기 때문입니다. 수십 개를 외울 수는 없으니 관리자에 저장하고, 중요한 계정에는 2단계 인증을 켜 두세요.
- 무작위 식별자가 필요하면 UUID 생성기, 문자열의 해시값은 해시 생성기를 쓰세요.
자주 묻는 질문
몇 자리가 적당한가요?
비밀번호 관리자에 저장한다면 모든 문자 종류를 켠 16자 이상(약 104비트)이면 충분합니다. 외워야 한다면 6단어 이상의 패스프레이즈를 권합니다.
Math.random()으로 만든 비밀번호와 무엇이 다른가요?
Math.random()은 암호용으로 설계되지 않아 출력이 예측될 수 있습니다. 이 도구는 브라우저의 암호학적 난수 생성기(crypto.getRandomValues)를 쓰고, 나머지 연산 때문에 일부 문자가 더 자주 나오는 편향(modulo bias)이 없도록 범위를 벗어난 난수는 버리고 다시 뽑습니다.
만든 비밀번호가 저장되거나 전송되나요?
아니요. 비밀번호는 이 기기의 브라우저 안에서만 만들어지고, 페이지를 닫으면 사라집니다.