← 홈
🔐

비밀번호 생성기

안전한 랜덤 비밀번호를 즉시 생성

생성 중...
약함
길이16
464

비밀번호 생성기란?

안전한 무작위 비밀번호를 빠르게 생성해주는 도구입니다. crypto.getRandomValues를 사용한 암호학적 안전 난수 기반이며, 대소문자·숫자·특수문자·길이를 자유롭게 조합하고 생성된 비밀번호의 강도를 실시간으로 평가합니다.

주요 기능

  • 암호학적 안전 난수 — Web Crypto API 기반
  • 강도 평가 — 약함/보통/강함/매우 강함
  • 옵션 조합 — 대문자·소문자·숫자·특수문자
  • 길이 조절 — 4~64자 (12자 이상 권장)
  • 복사 + 최근 목록 — 최근 생성한 비밀번호 5개를 화면에 표시 (새로 고침 시 사라짐)

사용 방법

  1. 원하는 길이와 옵션을 선택하세요
  2. 생성 버튼을 누르면 즉시 새 비밀번호가 표시됩니다
  3. 복사 버튼으로 클립보드에 복사
  4. 마음에 안 들면 다시 생성하세요

비밀번호는 어떻게 뚫리는가

비밀번호가 노출되는 경로는 크게 세 가지입니다. 첫째는 무차별 대입 공격으로, 가능한 모든 조합을 하나씩 시도하는 방식입니다. 둘째는 사전 공격으로, 흔히 쓰이는 단어와 패턴(password1, qwerty, 생년월일 등)을 우선 시도합니다. 셋째는 크리덴셜 스터핑으로, 한 사이트에서 유출된 아이디·비밀번호 조합을 다른 사이트에 그대로 대입하는 방식입니다.

온라인 로그인 화면에서는 시도 횟수가 제한되어 무차별 대입이 어렵지만, 서버에서 유출된 해시 데이터베이스를 상대로는 공격자가 자신의 장비로 매우 빠르게 조합을 시도할 수 있습니다. 그래서 8자리면 충분하다는 과거의 기준은 더 이상 안전하지 않습니다.

세 가지 공격에 대한 방어는 각각 다릅니다. 무차별 대입에는 길이가, 사전 공격에는 예측 불가능한 무작위성이, 크리덴셜 스터핑에는 사이트마다 다른 비밀번호를 쓰는 것이 답입니다. 무작위 생성기를 쓰면 앞의 두 가지가 해결되고, 비밀번호 관리자를 함께 쓰면 세 번째까지 해결됩니다.

엔트로피: 강도를 숫자로 나타내기

비밀번호의 강도는 엔트로피(비트)로 표현합니다. 사용 가능한 문자 종류가 N개이고 길이가 L이면 가능한 조합은 N의 L제곱이고, 엔트로피는 L × log2(N)입니다. 엔트로피가 1비트 늘어날 때마다 공격자가 시도해야 할 조합의 수는 두 배가 됩니다.

문자 한 개가 주는 엔트로피는 소문자만 쓸 때 약 4.7비트, 소문자와 숫자 약 5.2비트, 대소문자와 숫자 약 5.95비트, 이 생성기의 네 가지 옵션을 모두 켰을 때(88종) 약 6.46비트입니다. 따라서 모든 옵션을 켠 16자 비밀번호는 약 103비트, 12자는 약 77비트, 8자는 약 52비트의 엔트로피를 가집니다.

흔히 80비트 이상이면 온라인 계정용으로 충분히 강하고, 100비트를 넘으면 유출된 해시를 상대로 한 오프라인 공격에도 현실적으로 안전하다고 봅니다. 반면 숫자 6자리 PIN은 약 20비트에 불과하고, 생년월일이나 단어 기반 비밀번호는 사전 공격 때문에 계산상 엔트로피보다 훨씬 약합니다.

길이와 복잡도, 무엇이 더 중요한가

특수문자를 섞는 것보다 길이를 늘리는 쪽이 효과가 훨씬 큽니다. 문자 종류를 62종에서 88종으로 늘리면 한 글자당 엔트로피가 약 0.5비트 늘어나는 데 그치지만, 길이를 한 글자 늘리면 6비트 이상이 더해집니다. 특수문자 없이 대소문자와 숫자만 쓴 20자 비밀번호(약 119비트)는 모든 문자를 쓴 16자(약 103비트)보다 강합니다.

그렇다고 특수문자가 쓸모없다는 뜻은 아닙니다. 많은 사이트가 특수문자 포함을 요구하고, 공격자가 문자 종류를 좁혀 시도하는 것을 막는 효과도 있습니다. 다만 복잡해 보이는 비밀번호와 실제로 강한 비밀번호는 다릅니다. P@ssw0rd!처럼 단어의 일부를 기호로 치환한 형태는 사전 공격 도구가 기본으로 시도하는 변형이라 거의 보호 효과가 없습니다.

정기적인 강제 변경 역시 과거의 관행입니다. 최근의 보안 지침은 유출 정황이 없다면 주기적 변경을 요구하지 않는 대신, 충분히 길고 무작위이며 사이트마다 다른 비밀번호를 한 번 잘 만들어 두는 것을 권합니다. 자주 바꾸게 하면 사람들은 끝자리 숫자만 바꾸는 식으로 대응해 오히려 약해지기 때문입니다.

패스프레이즈: 기억해야 하는 비밀번호

컴퓨터 로그인이나 비밀번호 관리자의 마스터 비밀번호처럼 반드시 기억해야 하는 비밀번호에는 무작위 문자열보다 패스프레이즈가 적합합니다. 패스프레이즈는 서로 관련 없는 단어 여러 개를 이어 붙인 긴 비밀번호로, 사람은 기억하기 쉽고 컴퓨터는 추측하기 어렵다는 장점이 있습니다.

핵심은 단어를 무작위로 골라야 한다는 점입니다. 예컨대 7,776개 단어 목록에서 주사위로 단어를 고르는 다이스웨어 방식은 단어 하나당 약 12.9비트의 엔트로피를 주므로, 5단어면 약 65비트, 6단어면 약 78비트가 됩니다. 반면 머릿속에서 떠오르는 대로 고른 단어나 좋아하는 노래 가사는 예측 가능성이 높아 계산상의 엔트로피를 크게 밑돕니다.

한국어 사용자라면 뜻이 이어지지 않는 한국어 단어 여러 개를 영문 자판으로 친 문자열도 하나의 방법입니다. 다만 이 역시 단어 선택이 무작위여야 하고, 자판 변환 패턴 자체는 공격 도구도 알고 있으므로 짧은 단어 두세 개로는 부족합니다. 어떤 방식이든 전체 길이가 20자를 넘도록 만드는 것을 권합니다.

비밀번호 관리자와 2단계 인증

계정마다 다른 무작위 비밀번호를 사람이 전부 기억하는 것은 불가능하므로, 비밀번호 관리자가 실질적인 해답입니다. 관리자는 하나의 강한 마스터 비밀번호로 암호화된 금고에 나머지 비밀번호를 보관하고, 사이트 주소를 확인해 자동 입력하기 때문에 가짜 사이트에는 비밀번호를 채워 넣지 않아 피싱 방어 효과도 있습니다.

브라우저와 운영체제에 내장된 관리자도 좋은 출발점이고, 여러 기기와 브라우저를 함께 쓴다면 전용 관리자 앱이 편리합니다. 어떤 관리자를 쓰든 마스터 비밀번호는 패스프레이즈로 만들고, 복구 코드는 종이에 적어 안전한 곳에 보관하시기 바랍니다.

비밀번호가 아무리 강해도 유출될 가능성은 남기 때문에 2단계 인증을 켜는 것이 중요합니다. 문자 인증보다는 인증 앱(OTP)이나 보안 키, 그리고 비밀번호 자체를 대체하는 패스키가 더 안전합니다. 비밀번호 생성기는 이 전체 체계의 한 조각이라는 점을 기억하시기 바랍니다.

이 생성기의 원리와 강도 표시 읽기

이 생성기는 브라우저의 Web Crypto API(crypto.getRandomValues)로 난수를 얻습니다. 게임이나 화면 효과에 쓰이는 Math.random()은 내부 상태를 알면 다음 값을 예측할 수 있는 의사난수이지만, Web Crypto의 난수는 운영체제의 암호학적 난수 생성기에서 나오므로 예측이 불가능합니다. 선택한 문자 집합에서 길이만큼 문자를 무작위로 골라 이어 붙이는 것이 전체 과정입니다.

길이는 4자에서 64자까지 조절할 수 있고, 소문자·대문자·숫자·특수문자 네 가지 옵션 중 최소 하나는 켜져 있어야 합니다. 문자를 완전히 무작위로 고르기 때문에 옵션을 켰다고 해서 해당 종류의 문자가 반드시 포함된다는 보장은 없습니다. 특정 문자 종류를 꼭 넣어야 하는 사이트라면 결과를 확인하고 필요하면 다시 생성하시기 바랍니다.

강도 표시는 여섯 가지 조건(길이 8자 이상, 12자 이상, 16자 이상, 대소문자 혼용, 숫자 포함, 특수문자 포함)을 각각 1점으로 매겨 2점 이하 약함, 3점 보통, 4점 강함, 5점 이상 매우 강함으로 나눕니다. 구성 요소를 빠르게 점검하는 간이 지표이며 엔트로피를 직접 계산한 값은 아닙니다. 예를 들어 소문자만으로 만든 64자 비밀번호는 엔트로피가 300비트에 이르지만 이 기준에서는 보통으로 표시됩니다.

안전하게 쓰는 습관

생성한 비밀번호는 복사 버튼으로 클립보드에 옮겨 곧바로 비밀번호 관리자나 가입 화면에 붙여 넣으시기 바랍니다. 클립보드는 다른 앱이 읽을 수 있으므로 붙여 넣은 뒤에는 다른 텍스트를 복사해 덮어쓰는 것이 좋습니다. 최근 생성 목록은 페이지를 떠나면 사라지는 임시 목록이며, 브라우저 저장소나 외부 서버 어디에도 남지 않습니다.

이메일, 금융, 비밀번호 관리자처럼 다른 계정의 복구 수단이 되는 핵심 계정에는 가장 긴 비밀번호와 2단계 인증을 적용하시기 바랍니다. 이미 사용 중인 비밀번호가 유출되었는지는 브라우저의 비밀번호 점검 기능이나 유출 조회 서비스로 확인할 수 있으며, 유출이 확인된 비밀번호는 다른 곳에서 쓰고 있더라도 모두 바꾸어야 합니다.

공용 PC나 다른 사람의 기기에서는 비밀번호를 생성하거나 입력하는 일을 피하고, 불가피하다면 사용 후 브라우저 기록과 클립보드를 정리하시기 바랍니다. 보안 질문에 실제 정보를 쓰는 것도 위험하므로, 보안 질문의 답 역시 무작위 문자열로 만들어 관리자에 함께 저장하는 방법을 권합니다.

활용 팁

  • 최소 12자 이상 + 대소문자+숫자+특수문자 조합 권장
  • 여러 사이트에 같은 비밀번호를 쓰지 마세요
  • 1Password, Bitwarden 같은 비밀번호 관리 앱과 함께 사용하세요
  • 생성된 비밀번호는 브라우저에만 잠시 저장되며 외부로 전송되지 않습니다

자주 묻는 질문

Q. Math.random()과 뭐가 다른가요?

Math.random()은 예측 가능한 의사 난수이지만, 본 도구는 Web Crypto API의 암호학적 난수를 사용합니다.

Q. 히스토리에 비밀번호가 저장되어 안전한가요?

최근 목록은 어디에도 저장되지 않고 현재 화면에만 잠시 표시되며, 페이지를 새로 고치면 사라집니다. 외부로 전송되지도 않습니다. 공용 PC에서는 사용 후 탭을 닫아주세요.

Q. 발음 가능한 비밀번호도 가능한가요?

현재는 무작위 문자열만 지원합니다. 발음 가능한 옵션은 추후 검토 중입니다.

Q. 비밀번호는 몇 자 이상이어야 안전한가요?

대소문자·숫자·특수문자를 섞은 무작위 비밀번호라면 12자가 최소선이고 16자 이상을 권합니다. 16자면 약 103비트의 엔트로피로 현재의 공격 능력에 대해 충분한 여유가 있습니다. 단어를 조합한 패스프레이즈는 무작위 단어 5~6개 이상, 전체 20자 이상으로 만드시기 바랍니다.

Q. 옵션을 모두 켰는데 특수문자가 하나도 없는 비밀번호가 나왔습니다.

문자를 완전히 무작위로 고르기 때문에 짧은 길이에서는 특정 종류가 빠질 수 있습니다. 길이가 길어질수록 그럴 확률은 급격히 낮아지지만, 특정 문자를 반드시 요구하는 사이트라면 결과를 확인한 뒤 재생성 버튼으로 다시 만들어 사용하시기 바랍니다.

Q. 강도 표시가 매우 강함이면 어디에 써도 안전한가요?

강도 표시는 길이와 문자 구성을 점검하는 간이 지표입니다. 무작위로 생성한 16자 이상 비밀번호라면 충분히 강하지만, 안전은 같은 비밀번호를 다른 사이트에 재사용하지 않는 것과 2단계 인증 사용에도 달려 있습니다.

더 읽어보기

관련 도구

QR코드 생성기컬러 크래프트단위 변환글자수 세기

작성·검수: FunAppBox 편집팀 · 내용 오류나 개선 제안은 문의 페이지로 알려주세요.