이 비밀번호 생성기는 무엇을 하나요?
이 도구는 사용자가 선택한 문자 종류(소문자, 대문자, 숫자, 문장부호, 괄호 및 기호)를 조합해 최대 50자리의 랜덤 비밀번호를 만들어 줍니다. 비밀번호는 현재 브라우저 세션 안에서만 생성되며 어디에도 저장되거나 전송되지 않으므로, 모든 결과는 지금 보고 있는 화면에만 존재합니다.
사용 방법
포함하고 싶은 문자 종류에 체크하고, 문자를 어떤 방식으로 뽑을지 정한 다음, 비밀번호 길이를 설정하고 생성하면 됩니다. 다섯 가지 종류를 자유롭게 조합할 수 있습니다. 포함하는 종류가 많을수록 경우의 수가 커지고, 그만큼 추측하기 어려운 비밀번호가 됩니다.
균등하게 선택 옵션에는 두 가지 방식이 있습니다. 선택한 모든 문자는 활성화한 모든 종류를 하나의 풀로 합친 뒤, 그 안에서 각 문자를 무작위로 균등하게 뽑습니다. 선택한 각 종류별로는 활성화한 종류를 순서대로 번갈아 사용해, 각 종류가 가능한 한 고르게 포함되도록 한 뒤 마지막에 위치를 섞어(셔플) 무작위화합니다. 이때 각 종류에서 뽑는 문자 수는 \( n_j \in \left\{ \left\lfloor \tfrac{L}{k} \right\rfloor, \left\lceil \tfrac{L}{k} \right\rceil \right\} \) 입니다.
공식 이해하기
비밀번호의 보안 수준은 흔히 '경우의 수(search space)'로 설명합니다. 이는 최악의 경우 공격자가 모두 시도해 봐야 하는 가능한 비밀번호의 총 개수입니다. 서로 다른 문자가 P개인 풀에서 길이가 L인 비밀번호를 만들면, 경우의 수는 다음과 같습니다.
$$ \text{Search Space} = P^{L} $$문자 하나를 더 늘리면(\(L\) 증가) 경우의 수가 \(P\)배가 되고, 문자 종류를 더하면 \(P\)가 커지므로, 길이와 다양성 모두 보안을 기하급수적으로 강화합니다.
실제 예시
소문자(26), 대문자(26), 숫자(10)를 켜고 선택한 각 종류별로를 고른 뒤 8자리를 요청한다고 해 봅시다. 종류가 \(k=3\)개이므로 0,1,2,0,1,2,0,1 순서로 돌아가며 소문자 3개, 대문자 3개, 숫자 2개가 만들어집니다. 피셔-예이츠(Fisher-Yates) 셔플을 거치면 kT4mQ7pR 같은 결과를 얻을 수 있습니다. 풀 크기는 \( P = 26+26+10 = 62 \)이므로, 경우의 수는 다음과 같습니다.
자주 묻는 질문
제 비밀번호가 저장되나요? 아니요. 모든 비밀번호는 화면 표시용으로만 생성되며 저장되거나 기록되지 않습니다.
비밀번호는 몇 자리가 적당한가요? 여러 문자 종류를 섞어 최소 12~16자리를 목표로 하세요. 문자 하나를 더할 때마다 경우의 수가 곱절로 늘어나므로 길수록 항상 더 안전합니다.
'선택한 각 종류별로'는 무엇을 보장하나요? 선택한 종류 전반에 문자를 최대한 고르게 배분해 줍니다. 영문자, 숫자, 기호를 반드시 섞어야 하는 사이트의 비밀번호 규칙을 충족하는 데 도움이 됩니다.