CodeKitHub
일상 도구

강력한 무작위 비밀번호 생성기

마지막 업데이트:

클릭 한 번으로 강력한 무작위 비밀번호를 생성하세요. 길이와 문자 종류를 선택하면 실시간 강도 추정치까지 확인할 수 있습니다. 비밀번호는 브라우저의 암호학적 난수 생성기로 만들어지며 기기 밖으로 전혀 나가지 않습니다 — 아무것도 전송, 저장, 기록되지 않습니다.

강도:

사용 방법

  1. 슬라이더로 원하는 길이를 설정하세요(16자 이상 권장).
  2. 원하는 문자 종류에 체크하세요 — 종류가 많을수록 비밀번호가 강력해집니다.
  3. 손으로 직접 입력해야 한다면 헷갈리는 문자 제외 옵션을 선택하세요.
  4. "비밀번호 생성" 버튼을 클릭하세요(옵션을 바꿀 때마다 새 비밀번호가 나타납니다).
  5. "복사" 버튼을 눌러 비밀번호 관리자에 저장하세요.

예시

입력

길이 16, 모든 문자 종류 활성화

결과

K7#mQv9!xR2pWz@e

약 105비트의 엔트로피 — 최신 GPU 클러스터로도 무차별 대입에 우주 나이보다 긴 시간이 필요합니다.

이 도구는 무엇인가요?

비밀번호 생성기(패스워드 생성기)는 사람이 직접 만드는 것보다 훨씬 강력한 무작위 비밀번호를 만들어냅니다. 사람들은 이름, 날짜, 키보드 패턴처럼 기억하기 쉬운 패턴을 선택하는데, 공격자들은 이런 패턴을 이미 다 파악하고 있습니다. 모든 문자 종류를 사용한 무작위 16자리 비밀번호는 약 100비트의 엔트로피를 가지며, 이는 현실적인 무차별 대입 공격의 범위를 훨씬 뛰어넘습니다.

이 생성기는 Web Crypto API(운영체제가 암호화 키를 만들 때 쓰는 것과 동일한 안전한 난수 생성 방식)를 사용하고, 선택한 각 문자 집합에서 최소 한 글자씩은 반드시 포함되도록 보장하며, 각 옵션이 실제로 어떤 영향을 미치는지 볼 수 있도록 엔트로피 기반 강도 추정치를 보여줍니다.

미국 NIST의 비밀번호 지침 SP 800-63B도 이런 방식을 뒷받침합니다: 긴 비밀번호(최소 64자까지)를 허용하고, 후보 비밀번호를 알려진 유출 목록과 대조하며, 강제적인 문자 조합 규칙과 정기적인 강제 변경은 폐지하라고 권고합니다 — 실제 강도를 결정하는 것은 필수 특수문자가 아니라 길이와 무작위성이기 때문입니다.

실전 팁

  • 길이가 잔재주를 이깁니다: 소문자와 숫자만 쓴 20자리 비밀번호가 모든 특수문자를 동원한 10자리 비밀번호보다 강력합니다 — 슬라이더를 움직이며 엔트로피 표시기가 어떻게 변하는지 직접 확인해 보세요.
  • 일부 사이트(특히 은행권)는 길이를 제한하거나 특수문자를 금지합니다. 비밀번호를 손으로 고치기보다는 체크박스로 사이트 규칙에 맞추세요 — 손으로 고치면 바로 그 부분에 예측 가능성이 몰립니다.
  • 사이트마다 새로 생성하세요. 어떤 비밀번호든 강도는, 유출된 사이트에서 재사용되는 순간 아무 의미가 없어집니다.
  • 노트북 로그인이나 비밀번호 관리자의 마스터 비밀번호처럼 외워야 하는 경우라면, 특수문자 없이 20자 이상으로 만들면 입력하기도 쉽고 그만큼 강력합니다.

얼마나 강력해야 강력한 걸까? 비교로 보기

구체적인 숫자로 감을 잡아보면: 8자리 혼합 비밀번호(약 52비트)는 사이트의 해시가 유출되면 최신 GPU 장비로 몇 시간 만에 뚫립니다. 12자리(약 78비트)는 몇 년을 버팁니다. 16자리(약 105비트)는 이를 공격할 하드웨어의 수명보다 오래 버팁니다. 온라인 추측 공격은 이런 오프라인 수치보다 훨씬 느립니다 — 속도 제한 때문에 공격자는 수조 번이 아니라 수천 번밖에 시도하지 못합니다 — 하지만 어떤 유출 사고가 벌어질지는 여러분이 통제할 수 없으므로, 오프라인 공격까지 염두에 두고 생성하는 것이 안전합니다.

바로 이 이유로 비밀번호 관리자가 게임의 판도를 바꿨습니다: 아무것도 외울 필요가 없어지면 모든 비밀번호를 16자 이상 무작위로 만들 수 있고, 한 곳이 유출돼도 다른 계정에는 더 이상 영향을 주지 않게 됩니다.

랜덤 숫자 생성기 · MD5 생성기

국내 서비스 유형별 비밀번호 규칙

서비스 유형마다 요구하는 길이와 허용 문자 종류가 다릅니다. 아래 표는 미리 예측해서 거부당하지 않도록 정리한 권장 설정입니다.

서비스 유형권장 길이참고
간편결제(카카오페이, 토스, 네이버페이)12~16자, 4종류 모두허용 특수문자가 제한적인 경우가 많습니다 — 거부되면 손으로 고치지 말고 다시 생성하세요.
인터넷뱅킹 / 은행 앱8~16자, 대소문자·숫자 포함일부 은행은 < > ' " ; 같은 특수문자를 금지합니다 — 오류가 나면 해당 문자를 꺼보세요.
공공기관 / 정부24 등 계정8자 이상, 숫자·대문자 포함생년월일이나 주민등록번호 일부를 비밀번호에 넣지 마세요. 사이트가 막지 않아도 위험합니다.
와이파이 공유기 / 공용 기기12자 이상, 특수문자 최소화손님이 안내판을 보고 손으로 입력하므로 헷갈리는 문자 제외 옵션을 켜세요.
비밀번호 관리자 마스터 비밀번호20자 이상, 특수문자 불필요직접 기억해야 하는 유일한 비밀번호이므로 복잡한 기호보다 입력하기 쉬운 길이를 우선하세요.

흔한 사용 사례

  • 특정 비밀번호 정책(최소 길이, 특수문자 필수 등)을 요구하는 사이트에 새 계정을 만들 때 — 비밀번호를 손으로 고치는 대신 여기서 맞는 옵션을 설정하세요.
  • 여러 계정이나 테스트 사용자 계정을 한 번에 설정할 때 고유한 비밀번호 여러 개를 생성할 때.
  • 유출 알림을 받은 뒤, 영향받은 계정마다 고유한 새 비밀번호로 재사용 중인 비밀번호를 교체할 때.
  • 인쇄된 카드로 비밀번호를 입력할 사람들을 위해, 강력하면서도 헷갈리는 문자는 제외한 와이파이 공유기나 공용 기기 비밀번호를 만들 때.

왜 사용해야 할까요?

새로 가입한 은행 앱이나 공공기관 사이트가 "영문 대소문자, 숫자, 특수문자 조합 8자 이상"을 요구할 때 — 직접 궁리해 약하고 외우기도 힘든 비밀번호를 만드는 대신 여기서 네 가지 문자 종류를 모두 켜서 생성하세요.

비밀번호 관리자가 설치되지 않은 회사 공용 PC를 쓸 때 — 생성 과정이 네트워크를 전혀 타지 않으므로 낯선 기기에서도 안심하고 쓸 수 있습니다.

카카오페이나 쿠팡 계정이 유출 목록에 포함됐다는 알림을 받았을 때 — 기존 비밀번호의 흔적을 하나도 남기지 않고 16자 이상의 완전히 새로운 비밀번호를 즉시 생성하세요.

카페 와이파이 비밀번호를 손님에게 말로 불러주거나 안내판에 인쇄해야 할 때 — "헷갈리는 문자 제외" 옵션을 켜면 숫자 0과 알파벳 O를 헷갈려 입력 실패하는 일이 줄어듭니다.

QA 테스트를 위해 계정을 한꺼번에 여러 개 만들어야 할 때 — 버튼을 누를 때마다 서로 독립적인 새 비밀번호가 나와 변형을 직접 궁리할 필요가 없습니다.

자주 묻는 질문

웹사이트에서 비밀번호를 생성해도 안전한가요?

이 도구라면 안전합니다 — 생성 과정 전체가 Web Crypto API를 이용해 브라우저 안에서만 이루어집니다. 비밀번호를 담은 네트워크 요청이 아예 없으므로, 페이지를 불러온 뒤 인터넷 연결을 끊고 오프라인 상태에서 생성해도 됩니다.

비밀번호는 몇 자리가 적당한가요?

중요한 계정이라면 여러 문자 종류를 섞은 16자리가 기본적으로 강력한 선택입니다. 12자리는 받아들일 수 있는 최소한입니다. 복잡함보다 길이가 더 중요합니다 — 특수문자가 많은 짧은 비밀번호보다 더 긴 비밀번호가 낫습니다.

강도 추정치는 무엇을 의미하나요?

이는 엔트로피, 즉 공격자가 맞춰야 하는 비트 수를 뜻합니다. 비트가 하나 늘어날 때마다 추측해야 할 경우의 수가 두 배가 됩니다. 45비트 미만은 취약하고, 온라인 계정에는 70비트 이상이면 강력하며, 100비트 이상이면 유출된 비밀번호 해시에 대한 오프라인 공격까지도 견뎌냅니다.

생성한 비밀번호를 여러 사이트에서 똑같이 써도 되나요?

안 됩니다. 한 사이트가 유출되면 공격자는 유출된 비밀번호를 다른 모든 사이트에 그대로 대입해봅니다. 사이트마다 고유한 비밀번호를 생성해서 비밀번호 관리자에 보관하세요 — 그게 바로 관리자의 존재 이유입니다.

헷갈리는 문자를 왜 제외해야 하나요?

0/O, 1/l/I 같은 문자는 많은 글꼴에서 똑같아 보입니다. 비밀번호를 소리 내어 읽거나 종이에서 옮겨 적을 일이 있다면, 이런 문자를 제외하는 것이 답답한 실수를 막아줍니다. 엔트로피가 조금 줄어드는데, 강도 표시기가 이를 정직하게 반영합니다.

생성하는 비밀번호는 몇 자리가 좋을까요?

사이트가 허용한다면, 모든 문자 종류를 사용한 무작위 16자리는 현실적인 무차별 대입 공격 범위를 넘어서며, 일반적인 계정이라면 12자리가 적당한 최소선입니다. 사이트 제한 때문에 더 짧은 비밀번호를 써야 한다면 모든 문자 종류를 활성화해서 보완하세요 — 하지만 선택할 수 있다면 항상 길이를 우선하는 것이 좋으며, 이는 NIST SP 800-63B의 입장이기도 합니다.

비밀번호를 생성할 때 사용하는 난수는 어디서 오나요?

Web Crypto API의 crypto.getRandomValues()를 사용하며, 이는 운영체제의 암호학적 난수 생성기(CSPRNG)에서 나옵니다 — 브라우저가 TLS 키를 만들 때 쓰는 것과 같은 원천입니다. 예측 가능한 알고리즘을 쓰는 Math.random()과는 근본적으로 다르며, Math.random()은 보안이 필요한 어떤 용도에도 써서는 안 됩니다.

"강력한" 비밀번호란 정확히 무엇을 뜻하나요?

여기서 "강력함"은 겉모습이 복잡해 보이는 게 아니라 높은 엔트로피, 즉 실제 무작위 비트 수를 뜻합니다. 소문자만 무작위로 20자 나열한 비밀번호가 온갖 특수문자를 섞은 8자리 비밀번호보다 겉보기엔 덜 복잡해 보여도 엔트로피는 더 높고 실제로도 더 강력합니다.

은행이나 공공기관 사이트의 까다로운 비밀번호 규칙과도 호환되나요?

한국의 많은 사이트는 8~16자에 영문 대소문자, 숫자, 특수문자 중 최소 세 종류 조합을 요구하고, 일부 특수문자(예: ; 나 ")는 거부하기도 합니다. 그 범위 안에서 길이를 설정하고 모든 문자 종류를 켠 뒤, 특수문자 때문에 거부당하면 다시 생성하세요 — 이미 만든 비밀번호를 손으로 고치면 그 부분의 무작위성이 오히려 떨어집니다.

관련 도구