안전한 비밀번호 생성기 — 강도 측정·브라우저 생성

길이와 문자 종류를 정하면 브라우저 안에서 암호학적 난수로 무작위 비밀번호를 즉시 생성하고 강도를 표시합니다.

lI9{iEV4gG)jS%%^
비밀번호 강도password.tool.strength.veryStrong
16
864
대문자 (A-Z)
소문자 (a-z)
숫자 (0-9)
특수문자 (!@#$...)

비밀번호는 브라우저에서만 생성되며 서버로 전송되지 않습니다. URL에도 저장되지 않으므로 안전하게 사용할 수 있습니다.

사용 방법

길이와 문자 종류 옵션을 정해 안전한 랜덤 비밀번호를 즉시 생성합니다. 모든 생성은 브라우저 안에서만 이루어지므로 서버에 저장되지 않습니다.

  1. 슬라이더 또는 +/- 버튼으로 비밀번호 길이를 8~64 사이에서 정합니다.
  2. 대문자, 소문자, 숫자, 특수문자 사용 여부를 체크박스로 선택합니다.
  3. 「비밀번호 생성」 버튼을 누를 때마다 새로운 무작위 비밀번호가 생성됩니다.
  4. 「복사」 버튼으로 결과를 클립보드에 담아 비밀번호 관리자에 저장합니다.

비밀번호는 브라우저의 암호학적 난수 생성기(crypto.getRandomValues)로 만들어지며 URL이나 서버에 전송되지 않습니다. 사용 직후 비밀번호 관리자에 저장하는 것을 권장합니다.

강도 표시는 이렇게 계산됩니다

이 생성기는 비밀번호를 만들 때마다 ‘약함 · 보통 · 강함 · 매우 강함’ 네 단계로 강도를 표시합니다. 표시는 두 점수를 더한 값으로 정해집니다. 첫째는 길이 점수로, 16자 이상이면 3점, 1215자는 2점, 811자는 1점, 8자 미만은 0점입니다. 둘째는 문자 종류 점수로, 소문자·대문자·숫자·특수문자 네 종류 중 실제로 쓰인 종류마다 1점씩 더해 최대 4점입니다. 두 점수를 합친 총점이 아래 기준에 따라 최종 단계가 됩니다.

총점강도 표시
6~7점매우 강함
4~5점강함
3점보통
0~2점약함

그래서 네 종류를 모두 켠 16자 비밀번호는 길이 3점 + 종류 4점 = 7점으로 항상 ‘매우 강함’이 되고, 같은 네 종류의 12자는 2점 + 4점 = 6점으로 역시 ‘매우 강함’입니다. 반대로 소문자만 쓴 10자는 1점 + 1점 = 2점에 그쳐 ‘약함’으로 표시됩니다. 아래는 몇 가지 예를 실제 계산 방식으로 점수 매긴 것입니다.

예시길이문자 종류총점표시
Xk7#mP2qL9vRtW4z1647매우 강함
Xk7#mP2qL9vR1246매우 강함
P@ss1234845강함
Password1934강함
pass1234823보통
abcdefgh812약함

이 점수 방식은 빠른 참고용이라 길이와 문자 종류만 봅니다. 같은 글자를 반복한 16자 문자열도 길이 3점 + 종류 1점 = 4점이라 ‘강함’으로 나오고, 사전에 있는 단어나 흔한 조합도 걸러내지 못합니다. 다만 이 도구가 내놓는 비밀번호는 무작위라 반복이나 사전 단어가 생기지 않으므로, 생성된 값에 대해서는 이 표시가 실제 강도와 잘 들어맞습니다. 직접 입력해 만든 비밀번호를 눈대중으로 평가할 때는 이 한계를 감안해야 합니다.

길이가 복잡도를 이깁니다

비밀번호의 진짜 강도는 ‘경우의 수’로 측정하며, 이를 비트 단위의 엔트로피로 나타냅니다. 엔트로피는 대략 ‘길이 × log₂(사용한 문자 풀 크기)‘로, 한 글자를 늘릴 때마다 일정한 비트가 더해지는 구조입니다. 아래는 구성별 엔트로피를 어림한 값입니다.

문자 구성문자 풀 크기8자12자16자
소문자만26약 38비트약 56비트약 75비트
소문자+대문자+숫자62약 48비트약 71비트약 95비트
네 종류 모두88약 52비트약 78비트약 103비트

여기서 핵심이 드러납니다. 16자 소문자만(약 75비트)이 8자 네 종류(약 52비트)보다 훨씬 강합니다. 문자 종류를 하나 더하는 것은 풀 크기를 키우는 데 그치지만, 길이를 한 글자 늘리면 그 커진 풀만큼의 경우의 수가 통째로 곱해지기 때문입니다. 그래서 특수문자를 억지로 끼워 넣어 외우기 어렵게 만들기보다, 길이를 넉넉히 확보하는 편이 보안과 편의를 동시에 얻는 길입니다. 이 생성기에서 길이 슬라이더를 먼저 올리는 것을 권하는 이유입니다.

이 생성기가 쓰는 문자

옵션으로 켜고 끌 수 있는 문자 종류는 네 가지이며, 각 종류에 포함된 문자는 아래와 같습니다.

종류포함 문자개수
대문자A–Z26
소문자a–z26
숫자0–910
특수문자!@#$%^&*()_+-=[]{}|;:,.<>?26

네 종류를 모두 켜면 88자 크기의 문자 풀에서 무작위로 뽑아 비밀번호를 채웁니다. 특수문자는 위 26개 기호만 사용하며, 공백이나 따옴표, 백슬래시(\)처럼 입력 오류를 일으키기 쉬운 문자는 포함하지 않습니다. 그래도 일부 사이트는 특정 기호를 거부할 수 있으니, 특수문자를 넣은 비밀번호가 등록되지 않으면 특수문자 옵션을 끄고 길이를 늘려 다시 만드는 것이 간단한 해결책입니다.

브라우저 안에서만 만들어집니다

이 생성기는 사용자의 브라우저 안에서만 동작합니다. 비밀번호는 브라우저에 내장된 암호학적 난수 생성기인 crypto.getRandomValues로 만들어집니다. 이는 예측이 어렵도록 보안 용도로 설계된 난수원으로, 흔히 쓰는 Math.random처럼 결과를 역산할 수 있는 방식이 아닙니다. 생성 과정은 켠 문자 종류마다 최소 한 글자를 반드시 포함하도록 보장한 뒤, 나머지 자리를 무작위로 채우고 전체 순서를 다시 섞는 순서로 진행됩니다.

생성 로직에는 데이터를 밖으로 보내는 네트워크 호출이 전혀 없습니다. 결과가 서버로 전송되지 않고, 주소창(URL)이나 서버 기록에도 남지 않습니다. 페이지를 한 번 연 뒤 인터넷 연결을 끊어도 생성 기능이 그대로 작동하는 것으로 이를 직접 확인할 수 있습니다. 따라서 만들어진 비밀번호를 볼 수 있는 것은 사용자 본인의 화면뿐입니다.

외우기 쉬운 대안, 패스프레이즈

이 도구는 무작위 문자열을 만들지만, 사람이 직접 외워야 하는 비밀번호라면 패스프레이즈를 고려할 수 있습니다. 패스프레이즈는 서로 관련 없는 단어 여러 개를 이어 붙인 비밀번호입니다. 무작위 문자열보다 길지만 의미 있는 단어 덩어리라 외우기가 쉽습니다.

관건은 단어를 반드시 무작위로 골라야 한다는 점입니다. 흔한 단어 목록(약 2,048개)에서 무작위로 하나를 뽑으면 단어당 약 11비트가 확보되므로, 4단어는 약 44비트, 6단어는 약 66비트가 됩니다. 반대로 좋아하는 문구나 기억하기 좋은 조합을 스스로 정하면 무작위성이 무너져 엔트로피가 크게 떨어집니다. 정리하면, 비밀번호 관리자에 저장할 로그인용 비밀번호는 이 생성기의 무작위 문자열이 적합하고, 관리자를 여는 마스터 비밀번호처럼 머릿속에 담아야 하는 경우에는 무작위로 고른 단어로 만든 패스프레이즈가 더 편리합니다.

자주 묻는 질문

비밀번호는 몇 자리로 만드는 게 안전한가요?

계정 중요도에 따라 나누는 것이 현실적입니다. 자주 쓰는 일반 사이트는 최소 12자, 이메일·금융·본인 인증에 연결된 핵심 계정은 16자 이상을 권장합니다. 8자는 오늘날 그래픽카드를 동원한 무차별 대입에 취약해 최소선으로도 부족합니다. 길이를 충분히 확보했다면 그다음 방어선은 2단계 인증(2FA)입니다. 비밀번호가 어떤 이유로 유출되더라도 2FA가 켜져 있으면 로그인을 막을 수 있으므로, 자릿수 경쟁보다 길이 12자 이상 + 2FA 조합이 더 확실합니다.

특수문자는 반드시 넣어야 하나요?

보안만 놓고 보면 특수문자보다 길이가 더 중요하지만, 현실에서는 사이트가 요구하면 넣어야 합니다. 문제는 일부 사이트가 특정 특수문자를 금지하거나 붙여넣기를 막아 로그인 오류를 일으킨다는 점입니다. 이럴 때는 특수문자 옵션을 끄고 대신 길이를 몇 자 더 늘리면 됩니다. 문자 종류를 하나 빼도 길이로 보완하면 실제 보안 수준은 오히려 올라갈 수 있습니다. 은행처럼 특정 기호만 허용하는 곳이라면 허용되는 조합으로 생성한 뒤 그 자리에서 로그인이 되는지 확인하세요.

생성된 비밀번호가 서버로 전송되나요?

아니요. 생성은 전적으로 브라우저 안에서 끝나며 네트워크로 나가지 않습니다. 다만 유출 위험은 서버가 아니라 사용자 쪽 흔적에서 생깁니다. 복사 버튼을 누르면 비밀번호가 클립보드에 남고, 다른 곳에 붙여넣을 때까지 유지됩니다. 공용 PC나 남과 공유하는 기기에서는 사용 직후 신뢰할 수 있는 비밀번호 관리자에만 붙여넣고, 클립보드를 비우고 화면을 닫는 것이 안전합니다. 스크린 공유·녹화 중에는 생성 화면이 그대로 노출되니 주의하세요.

사이트마다 다른 비밀번호를 어떻게 관리하나요?

외우려 하지 말고 비밀번호 관리자에 맡기는 것이 정답입니다. 사이트마다 서로 다른 무작위 비밀번호를 만들어 관리자에 저장하면, 한 곳이 뚫려도 다른 계정으로 피해가 번지지 않습니다. 같은 비밀번호를 여러 곳에 재사용하면 한 사이트의 유출 정보로 다른 사이트에 자동 로그인을 시도하는 '크리덴셜 스터핑' 공격에 그대로 노출됩니다. 관리자를 여는 마스터 비밀번호 하나만 길고 외우기 쉽게(예: 패스프레이즈) 정하고, 나머지는 전부 이 생성기로 만들어 저장하는 방식이 관리 부담과 보안을 동시에 해결합니다.

함께 쓰면 좋은 도구

생성은 브라우저 내장 crypto.getRandomValues 기반, 강도 표시는 길이·문자 종류 점수 합산 기준 · 최종 검토 2026-07-05