Menu

비밀번호 생성기

문자 종류를 조절해 강력한 임의 비밀번호를 생성.

마지막 업데이트

강도약함0 비트
비밀번호window.crypto로 브라우저에서 실행
«생성»을 클릭해 비밀번호를 만드세요.

비밀번호 생성기란?

비밀번호 생성기는 사람이 직접 만든 비밀번호보다 훨씬 추측하기 어려운 무작위 비밀번호를 만들어 줍니다. 개발자와 학습자들은 테스트 계정, 어드민 패널, DB 자격 증명, 대시보드 가입, CI 시크릿, 그리고 개인 보안 연습 등 다양한 곳에 활용합니다.

핵심 개념은 *엔트로피(entropy)*, 즉 비밀번호가 얼마나 예측 불가능한가입니다. 사람 눈에는 둘 다 무작위로 보여도, 길고 덜 예측 가능한 비밀번호가 압도적으로 더 강력합니다. 계정마다 서로 다른 비밀번호를 쓰고 신뢰할 수 있는 비밀번호 매니저에 저장하면, 비밀번호 재사용에서 오는 위험을 거의 다 없앨 수 있습니다.

제대로 된 비밀번호 생성기는 안전한 무작위성 소스를 사용해야 합니다. 브라우저라면 window.crypto.getRandomValues, 파이썬이라면 secrets, Node.js라면 crypto.randomBytes가 그것입니다. Math.random()이나 시간 기반의 단순 RNG로 만든 값은 공격자가 충분히 예측할 수 있습니다.

비밀번호를 만들면서 자연스럽게 배우는 것들

  • 보통은 @a 대신 쓰는 식의 문자 치환보다 길이가 훨씬 더 중요합니다. 소문자만 쓴 20자 비밀번호가 기호까지 섞은 10자 비밀번호보다 강합니다.
  • 무작위성은 Math.random()이 아니라 window.crypto처럼 암호학적으로 안전한 소스에서 가져와야 합니다.
  • 계정마다 서로 다른 비밀번호를 쓰면, 어떤 사이트나 DB가 털려도 피해 범위를 그 계정 하나로 제한할 수 있습니다.

강력한 비밀번호를 단계별로 만드는 방법

  1. 길이를 정하세요

    중요 계정은 최소 16자, 어드민이나 root 자격 증명은 20자 이상을 권장합니다. 길이는 다른 어떤 옵션보다 강력합니다.

  2. 문자 종류를 선택하세요

    소문자, 대문자, 숫자, 기호를 모두 켜면 가장 강한 결과가 나옵니다. 음성으로 불러주거나 여러 시스템에 직접 입력해야 한다면 기호는 끄셔도 됩니다.

  3. 헷갈리는 문자 제외하기 (선택)

    비밀번호를 소리 내어 읽거나 손으로 입력해야 한다면 O / 0, l / 1 / I 같은 문자를 건너뛰는 옵션을 켜세요.

  4. 생성한 뒤 강도 미터 확인하기

    강도 미터는 무차별 대입(brute-force)으로 깨는 데 걸리는 대략적인 시간을 보여줍니다. 가장 높은 등급이라면 개인 계정용으로는 충분합니다.

  5. 비밀번호 매니저에 저장하기

    신뢰할 수 있는 비밀번호 매니저에 바로 복사해 넣으세요. 채팅, 이메일, 포스트잇 같은 곳에는 절대 붙여넣지 말고, 다른 계정에 재사용하지도 마세요.

비밀번호 강도 빠른 참고표

초당 100억 회 추측이 가능한 최신 오프라인 크래킹을 가정한 대략적인 무차별 대입 시간입니다. 길이를 정할 때 참고용 기준으로 활용하세요. 공식 가이드는 NIST SP 800-63BOWASP Authentication Cheat Sheet를 참고하세요.

길이문자 집합대략적인 강도
8소문자 + 숫자 (36자)몇 초면 깨짐
10소문자 + 대문자 + 숫자 (62자)몇 시간이면 깨짐
12소문자 + 대문자 + 숫자 + 기호 (94자)며칠 ~ 몇 주
16소문자 + 대문자 + 숫자 + 기호수백 년
20소문자 + 대문자 + 숫자 + 기호현 시점에서는 사실상 깨기 불가능
단어 4개랜덤 단어 패스프레이즈 (correct horse battery staple)수백 년 — 외우기는 더 쉬움

직접 만들어 볼만한 비밀번호 예시

일반 계정용 강력한 기본 설정

설정

길이: 20 · 소문자: 켬 · 대문자: 켬 · 숫자: 켬 · 기호: 켬

예시 출력

B7$kP2wM!hG9eV4rT&xQ

대시보드, 웹 앱, 일반적인 개인 계정에 두루 쓰기 좋은 실용적인 기본값입니다. 4가지 문자 종류를 모두 사용한 20자 비밀번호는 현재 기준으로 사실상 깨기 불가능한 수준입니다.

길이만 바꿨을 때 비교

8자 (약함)

f7Bk2pQz

24자 (강함)

f7Bk2pQzM!eV9rT&hG3wXn$L

두 비밀번호는 같은 문자 종류를 쓰지만, 짧은 쪽이 수십~수백 차수만큼 약합니다. 거의 항상 길이가 답입니다.

읽기 쉬운 패스프레이즈

패스프레이즈

lantern-vivid-comet-nimbus-quartz

관련 없는 랜덤 단어 5개는 16자 랜덤 비밀번호와 비슷한 강도를 가지면서도, 입력하고 말하고 외우기가 훨씬 편합니다.

흔히 하는 비밀번호 실수

  • 생성한 같은 비밀번호를 여러 계정에 돌려쓰는 것 — 한 사이트만 털려도 모든 계정으로 피해가 번집니다.
  • 기호가 들어 있다는 이유로 짧은 비밀번호를 고르고는 기호 덕에 강하다고 착각하는 것. 길이가 훨씬 큰 변수입니다.
  • 운영 환경 자격 증명을 소스 코드, 스크린샷, 채팅, 강의 노트에 그대로 저장하는 것 — 환경 변수와 시크릿 매니저를 사용하세요.

비밀번호 생성기 FAQ

강력한 비밀번호는 어떻게 만드나요?
비밀번호 생성기를 사용하고, 4가지 문자 종류(소문자, 대문자, 숫자, 기호)를 모두 켠 채 16자 이상으로 만드세요. 결과는 비밀번호 매니저에 바로 저장하고, 외우거나 직접 입력하려고 하지 마세요.
어떤 비밀번호가 강한 비밀번호인가요?
길이, 무작위성, 그리고 유일성입니다. 안전한 RNG로 만든 길고 무작위한 비밀번호를 단 하나의 계정에만 쓰는 것이 정석입니다.
모든 계정에 비밀번호 생성기를 써야 하나요?
네. 생성기로 만든 고유한 비밀번호를 신뢰할 수 있는 비밀번호 매니저에 저장하는 것이 크리덴셜 스터핑(credential stuffing) 공격에 가장 간단하면서도 강력한 방어책입니다.
강한 비밀번호에는 반드시 기호가 들어가야 하나요?
기호가 도움은 되지만, 길이와 무작위성이 더 중요합니다. 긴 랜덤 패스프레이즈(tower-citrus-bronze-quay-pear)는 기호가 잔뜩 들어간 짧은 비밀번호만큼 강하면서도 다루기 쉽습니다.
이 비밀번호 생성기는 안전한가요?
네. Coddy의 생성기는 window.crypto.getRandomValues를 사용해 전적으로 브라우저 안에서 동작합니다. 비밀번호는 로컬에서 만들어지고 서버로 전송되지 않습니다.
생성한 비밀번호를 제 코드에 그대로 써도 되나요?
환경 변수, 시크릿 매니저, 또는 암호화된 볼트(vault)를 사용하세요. 비공개 저장소라도 실제 자격 증명을 소스 파일에 하드코딩하지 마세요.

다른 개발자 도구

Coddy로 코딩 배우기

시작하기