비밀번호 생성기 (안전한 랜덤 암호)
crypto 로 강력한 랜덤 비밀번호를 만듭니다
생성된 비밀번호
프리셋
crypto 로 브라우저에서 생성하며, 만든 비밀번호는 어디로도 전송되지 않습니다.
‘무작위’에도 종류가 있다
비밀번호 생성기에서 가장 중요한 건 화려한 옵션이 아니라 난수의 품질입니다. 프로그래밍에서 흔히 쓰는 Math.random 은 게임이나 애니메이션엔 충분하지만, 예측 가능합니다 — 이전 값들을 보면 다음 값을 추정할 수 있어, 비밀번호에 쓰면 위험합니다.
그래서 이 도구는 브라우저의 crypto.getRandomValues 를 씁니다. 운영체제의 엔트로피를 끌어와 만드는 암호학적으로 안전한 난수라, 생성된 비밀번호를 되짚어 예측할 수 없습니다. 겉보기엔 둘 다 “무작위”지만, 보안에서는 이 차이가 전부입니다.
길이가 특수문자보다 세다
많은 사람이 P@ss! 처럼 특수문자를 욱여넣으면 강해진다고 믿습니다. 절반만 맞습니다. 비밀번호의 강도는 엔트로피(비트)로 재는데, 공식은 대략 이렇습니다.
엔트로피(비트) ≈ 길이 × log2(문자 풀 크기)
소문자만(26) 8자 → 8 × 4.7 ≈ 37비트 (약함)
전체(94) 8자 → 8 × 6.6 ≈ 52비트 (보통)
전체(94) 16자 → 16 × 6.6 ≈ 105비트 (매우 강함)보다시피 길이를 늘리는 게 문자 종류를 늘리는 것보다 대개 효과가 큽니다. 특수문자 한 종류를 더하면 풀 크기가 조금 커지지만, 길이는 곱해지는 값이라 몇 자만 늘려도 비트가 껑충 뜁니다. 이 도구가 강도 막대를 ‘길이에 민감하게’ 보여 주는 이유입니다.
각 종류를 한 번씩 보장하는 이유
많은 사이트가 “대문자·숫자·기호를 각각 하나 이상” 넣으라고 요구합니다. 순수 무작위로 만들면 짧은 비밀번호에서 우연히 한 종류가 빠질 수 있습니다. 그래서 이 도구는 선택한 종류마다 최소 한 글자를 먼저 넣고, 나머지를 채운 뒤 전체를 섞습니다. 섞지 않으면 “소문자-대문자-숫자-기호…” 순서가 고정돼 오히려 예측 가능해지므로, Fisher–Yates 셔플로 자리를 무작위화합니다.
‘헷갈리는 글자 제외’의 득과 실
0과 O, 1과 l·I, 파이프(|)는 폰트에 따라 거의 똑같아 보입니다. 비밀번호를 다른 기기에 손으로 옮겨 적어야 할 때 이 글자들은 오류의 원인입니다. 그래서 제외 옵션을 뒀습니다. 대신 문자 풀이 조금 작아져 같은 길이의 엔트로피는 미세하게 낮아집니다. 관리자에 저장해 자동 입력할 거라면 꺼도 되고, 눈으로 옮길 일이 있으면 켜는 편이 안전합니다.
만든 다음이 더 중요하다
- 외우지 말고 저장하세요. 길고 무작위인 비밀번호는 사람이 못 외웁니다. 비밀번호 관리자에 맡기는 게 정석입니다.
- 사이트마다 다르게. 재사용하면 한 곳이 뚫릴 때 전부 뚫립니다.
- 중요 계정엔 2단계 인증을. 비밀번호가 아무리 강해도 유출될 수 있으니, 은행·이메일엔 OTP·패스키를 함께 쓰세요.
정리하면
- 난수의 품질이 핵심입니다. crypto 로 만들고, 브라우저 밖으로 안 나갑니다.
- 길이를 먼저 늘리세요. 엔트로피는 길이에 곱으로 반응합니다.
- 만든 뒤 관리가 반입니다. 저장·비재사용·2단계 인증.
자주 묻는 질문
- 이 비밀번호는 안전한가요? 어떻게 만들어지나요?
- 브라우저의 crypto.getRandomValues 로 만듭니다. 이건 암호학적으로 안전한 난수라, 게임·애니메이션에 쓰는 Math.random 과 달리 예측하기 어렵습니다. 생성은 전부 여러분 기기 안에서 일어나고, 만들어진 비밀번호는 서버로 전송되거나 저장되지 않습니다.
- 길이와 문자 종류 중 뭐가 더 중요한가요?
- 길이입니다. 비밀번호의 강도는 '엔트로피(비트)'로 재는데, 대략 길이 × log2(문자 풀 크기)입니다. 특수문자를 추가하는 것보다 길이를 몇 자 늘리는 게 대개 더 큰 효과를 냅니다. 그래서 최소 16자를 권장하고, 은행·이메일 같은 중요한 계정은 그 이상을 권합니다.
- '헷갈리는 글자 제외'는 뭔가요?
- 0(숫자)과 O(대문자 오), 1(숫자)과 l(소문자 엘)·I(대문자 아이), | 처럼 눈으로 구분하기 어려운 글자를 뺍니다. 비밀번호를 손으로 옮겨 적거나 다른 기기에서 입력할 때 실수를 줄여 줍니다. 대신 문자 풀이 조금 작아져 같은 길이의 엔트로피는 미세하게 낮아집니다.
- 각 종류가 꼭 한 번씩 들어가나요?
- 네. 선택한 문자 종류(소문자·대문자·숫자·기호)마다 최소 한 글자가 들어가도록 보장합니다. 많은 사이트가 '각 종류 1개 이상'을 요구하기 때문입니다. 그런 다음 나머지를 무작위로 채우고 전체를 섞어, 특정 종류가 늘 앞에 오는 편향을 없앱니다.
- 생성한 비밀번호를 어떻게 보관하나요?
- 외우지 말고 비밀번호 관리자(1Password·Bitwarden 등)에 저장하는 것을 권합니다. 강력한 비밀번호의 핵심은 '길고 무작위'인데, 그런 건 사람이 외우기 어렵습니다. 그리고 사이트마다 다른 비밀번호를 쓰세요 — 하나가 유출돼도 다른 계정이 안전합니다.
- 정말 서버로 안 보내나요?
- 네. 이 도구는 전적으로 브라우저 안에서 동작합니다. 네트워크 요청 없이 여러분 기기에서 난수를 만들어 화면에 보여줄 뿐입니다. 그래도 불안하면, 생성 후 인터넷을 끊고 확인해도 동일하게 동작합니다.