비밀번호 생성기
옵션
만들어진 비밀번호 5개
· 서버로 전송되지 않고 이 브라우저에서만 만들어집니다
· 페이지를 닫으면 사라집니다. 다른 사람이 보지 않는 곳에서 복사하세요
만드는 방법
- 브라우저 보안 난수(
crypto.getRandomValues)로 글자를 뽑습니다. - 예측 가능한 난수(
Math.random)는 쓰지 않습니다. - 치우침이 생길 값은 버리고 다시 뽑습니다. (거부 샘플링)
- 문자 종류·첫 글자·연속 문자 조건을 모두 검사합니다.
- 조건을 하나라도 어기면 그 비밀번호를 통째로 버리고 새로 만듭니다.
- 강도를 엔트로피(비트)로 표시합니다.
강도 계산 기준
- 일반 무작위: 길이 × log2(쓸 수 있는 문자 수)
- 단어 조합형: 단어 수 × log2(단어 목록 크기) + (숫자 붙이기를 켠 경우) log2(100)
- 예: 5개 단어 5 × log2(7,772) ≈ 64.6비트, 숫자 붙이기를 켜면 log2(100) ≈ 6.6비트가 더해져 약 71.3비트
- 헷갈리는 문자(I, l, 1, O, 0)를 빼면 문자 수가 줄어 강도가 조금 낮아집니다.
- 일반 무작위는 조건으로 줄어든 경우의 수를 반영하지 않은 상한이라 "약 n비트 이하"로 표시합니다.
- 단어 조합형은 걸러내는 조건이 없어 정확한 값("약 n비트")입니다.
단어 목록: EFF Long Wordlist © Electronic Frontier Foundation, CC BY 3.0 US. 숫자 표기와 하이픈이 든 단어 4개를 빼고 7,772개를 썼습니다. 변경 내역
자주 묻는 질문
안전한 비밀번호는 어떻게 만드나요?
길이가 가장 중요합니다. 이 도구는 20자리를 기본값으로 두었고, 줄이더라도 16자리 이상(이 도구의 권장)은 지켜 무작위로 만드세요. 사이트마다 서로 다른 비밀번호를 쓰세요. 이름·생일·전화번호·키보드 배열(qwer1234)처럼 추측할 수 있는 값은 피하고, 기억하기 어려우면 비밀번호 관리자(브라우저 또는 전용 앱)에 저장하세요. 가능하면 2단계 인증도 함께 켜 두는 것이 좋습니다. (출처: KISA(한국인터넷진흥원) 비밀번호 선택 및 이용 안내, NIST SP 800-63B Digital Identity Guidelines (기본 20자리·권장 16자리 이상은 이 도구의 기준이며 두 기관의 수치가 아님))
만든 비밀번호가 서버로 전송되거나 저장되나요?
아닙니다. 비밀번호는 지금 보고 있는 브라우저 안에서만 만들어지며 서버로 보내지 않고, 주소(URL)·쿠키·브라우저 저장소에도 남기지 않습니다. 페이지를 새로고침하거나 닫으면 사라집니다. 이 도구의 동작 방식이며, 개발자 도구의 네트워크 탭에서 직접 확인할 수 있습니다. (출처: 이 페이지 동작 방식(public/js/password-core.js))
단어 조합형 비밀번호도 안전한가요?
단어를 무작위로 여러 개 고르면 길이가 길어져 안전하면서도 외우기 쉽습니다. 이 도구는 7,772개 영어 단어 목록에서 단어마다 약 12.9비트를 얻으며, 5개 단어는 약 64.6비트입니다. 숫자 붙이기(0~99)를 켜면 약 6.6비트(log2 100)가 더해져 약 71.3비트가 됩니다. 단어 수가 적을수록 약해지므로 화면의 강도 표시를 확인하세요. (출처: EFF Long Wordlist(CC BY 3.0 US), https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases)
특수문자를 받지 않는 사이트에서는 어떻게 하나요?
사이트마다 허용하는 기호가 달라서 기본값은 대부분 허용되는 ! @ # $ % ^ & * - _ 만 씁니다. 그래도 거부되면 특수문자를 끄고 길이를 늘리세요. 기호를 줄여도 길이를 늘리면 강도는 유지됩니다. "모든 기호"는 허용 범위가 넓은 사이트에서만 선택하세요.
강도(약함/보통/강함)는 어떤 기준인가요?
일반 무작위는 엔트로피(비트) = 길이 × log2(쓸 수 있는 문자 수)로 계산한 값을 "약 n비트 이하"로 표시합니다. 선택한 종류를 모두 넣고 연속 문자를 빼는 조건 때문에 실제 경우의 수는 이 값보다 조금 작기 때문입니다. 단어 조합형은 단어 수 × log2(단어 목록 크기)에 숫자 붙이기(log2 100)를 더한 정확한 값을 "약 n비트"로 표시합니다. 50비트 미만은 약함, 70비트 미만은 보통, 70비트 이상은 강함으로 표시하는 이 도구의 자체 기준이며 법적·인증 기준이 아닌 참고용 표시입니다. (출처: 이 도구의 자체 기준(엔트로피 = 길이 × log2(문자 수)))