비밀번호 생성기
강력한 랜덤 비밀번호를 브라우저에서 생성합니다
불러오는 중…
이 도구가 도움이 됐나요?
이 도구는
원하는 길이와 문자 종류를 골라 무작위 비밀번호를 생성합니다. crypto.getRandomValues()로 암호학적으로 안전한 난수를 뽑고, 나머지 연산으로 인한 편향을 없애기 위해 범위를 벗어난 값은 버리는 방식(거부 표본추출)을 씁니다. l, I, O, 0, 1처럼 헷갈리기 쉬운 문자는 애초에 문자 집합에서 뺐습니다.
사용법
- 길이 슬라이더(8~64자)로 비밀번호 길이를 정합니다.
- 소문자·대문자·숫자·특수문자 체크박스로 포함할 문자 종류를 고릅니다.
- 생성 개수(1/3/5/10)를 고르면 그만큼의 비밀번호가 한 번에 나오고, 막대그래프로 대략적인 강도(비트 수)를 보여줍니다.
- 다시 생성 버튼으로 새 값을 만들고, 복사 버튼으로 원하는 비밀번호를 가져갑니다.
- 강도 막대와 비트 수를 보고 72비트 이상(강함)이 될 때까지 길이나 문자 종류를 늘립니다.
- "함께 하기"로 방을 만들면 생성된 비밀번호 목록이 방 전원의 화면에 그대로 뜹니다 — 팀이 공유 계정 비밀번호를 함께 정할 때 씁니다.
자주 묻는 질문
- 이 비밀번호는 얼마나 안전한 난수로 만드나요?
- Math.random이 아니라 crypto.getRandomValues()를 씁니다. 나머지 연산 때문에 특정 문자가 더 자주 나오는 편향을 막기 위해, 범위를 벗어난 난수는 버리고 다시 뽑는 방식을 씁니다.
- l, I, O, 0, 1 같은 문자가 안 보이는데 왜 그런가요?
- 소문자 l과 대문자 I, 대문자 O와 숫자 0, 숫자 1처럼 글꼴에 따라 헷갈리기 쉬운 문자는 문자 집합에서 아예 제외했습니다. 그래서 손으로 옮겨 적을 때 실수가 줄어듭니다.
- 화면에 나오는 비트 수는 무엇을 뜻하나요?
- 선택한 문자 종류의 개수와 길이로 계산한 대략적인 엔트로피입니다. 값이 클수록 무차별 대입 공격에 필요한 시도 횟수가 기하급수적으로 늘어난다는 뜻이고, 72비트 이상이면 강함으로 표시합니다.
- 생성된 비밀번호가 서버에 저장되거나 전송되나요?
- 아니요. 전부 브라우저 안에서 생성되며 서버로 전송되지 않습니다.
- "함께 하기"로 공유하면 비밀번호가 서버로 가나요?
- 혼자 쓸 때는 서버로 아무것도 보내지 않지만, "함께 하기"를 눌러 방을 만들면 생성된 비밀번호 목록이 방 상태로 서버에 저장되어 참가자 화면에 실시간으로 전달됩니다. 실제 계정에 쓸 비밀번호를 함께 정한다면, 방을 벗어난 뒤 다시 한번 새로 만드는 것을 권합니다.
- 왜 72비트를 강함의 기준으로 삼나요?
- 72비트는 초당 수십억 번 시도하는 무차별 대입 공격도 현실적인 시간 안에는 끝내기 어려운 수준으로 널리 인용되는 기준입니다. 다만 이 값은 공격자가 문자 조합을 하나하나 다 시도한다는 가정이라, 이미 유출된 비밀번호 목록에 있는 값이면 길이와 무관하게 위험합니다.
- 생성 개수를 늘리면 더 안전해지나요?
- 아니요. 개수는 골라 쓸 후보를 늘려줄 뿐 개별 비밀번호의 강도와는 관계없습니다. 강도는 길이와 문자 종류로만 정해집니다.
- 특수문자에는 어떤 기호가 포함되나요?
- !@#$%^&*-_=+? 12종입니다. 일부 사이트는 이 중 특정 기호(예: & 나 %)를 허용하지 않으므로, 가입 화면에서 오류가 나면 다른 특수문자를 포함한 비밀번호를 다시 생성하세요.
이 페이지에서 만든 비밀번호는 서버로 전송되지 않지만, 화면을 그대로 두면 다른 사람이 볼 수 있습니다. 실제 계정에 쓸 비밀번호는 생성한 뒤 안전한 곳에 즉시 저장하고 화면에서 지우세요.