비밀번호·시크릿 생성기
무작위 비밀번호, 단어로 된 패스프레이즈, API 토큰을 생성하고, 선택한 설정의 엔트로피를 비트 단위로 보여 줍니다.
엔트로피
도구를 여기에 고정하세요. 이 브라우저에 저장됩니다.
도구를 고정하면 그 스티커가 여기에 붙습니다.
무작위 비밀번호, 단어로 된 패스프레이즈, API 토큰을 생성하고, 선택한 설정의 엔트로피를 비트 단위로 보여 줍니다.
엔트로피
모든 문자, 단어, 바이트는 브라우저의 암호학적 난수 생성기인 crypto.getRandomValues에서 나옵니다. Math.random은 어디에도 사용하지 않습니다. 비밀 값을 위해 설계되지 않았고 출력을 예측할 수 있기 때문입니다.
문자 집합에서 고를 때는 주의가 필요합니다. 무작위 바이트를 집합 크기로 나눈 나머지를 쓰는 흔한 방법은, 집합 크기가 256을 나누어떨어뜨리지 않으면 일부 문자가 다른 문자보다 조금 더 자주 나오게 만듭니다. 이 도구는 대신 거부 샘플링을 사용합니다. 집합에 필요한 만큼의 무작위 비트만 취하고, 집합을 벗어나는 값은 버리고 다시 뽑습니다. 종류별로 최소 1개를 포함하는 규칙도 같은 방식으로 적용합니다. 어떤 종류가 빠진 비밀번호는 통째로 버리므로, 규칙을 만족하는 모든 비밀번호가 같은 확률로 나옵니다.
시크릿은 이 페이지에만 존재합니다. 어디로도 전송되지 않고 브라우저에 저장되지도 않으며, 다시 생성하거나 탭을 닫으면 사라집니다.
비트 단위의 엔트로피는 같은 확률로 나올 수 있는 결과 수의 밑이 2인 로그이므로, 1비트가 늘 때마다 추측에 드는 작업량이 두 배가 됩니다. 이 수치는 실제로 사용 중인 옵션으로 계산하며 정수 비트로 내림합니다. 네 가지 문자 종류를 모두 쓰면 문자 집합은 87자이고, 길이 20이면 128비트입니다. 비슷하게 생긴 문자를 제외하면 집합이 82자로 줄어 같은 길이에서 126비트가 됩니다. 패스프레이즈 단어 목록은 1,024개 단어로, 단어당 정확히 10비트입니다. 5단어는 50비트, 8단어는 80비트입니다. 토큰은 바이트당 8비트이므로 32바이트는 256비트입니다.
이 수치는 결과의 겉모습이 아니라 생성기를 나타냅니다. 선택이 무작위였기 때문에 성립하는 값입니다. 사람이 직접 만든 비밀번호는 보통 길이에 비해 엔트로피가 훨씬 낮습니다. 강력한 비밀번호라도 두 사이트에서 재사용하면, 한 곳에서 유출되는 순간 두 곳 모두 노출됩니다.
비밀번호 관리자가 저장하고 대신 입력해 주는 곳에는 무작위 문자를 사용하세요. 비밀번호 관리자 자체의 비밀번호나 암호화된 디스크의 비밀번호처럼 외우거나 직접 입력해야 하는 몇 안 되는 시크릿에는 패스프레이즈를 사용하고, 더 강하게 하려면 잔재주보다 단어를 늘리세요. API 키, 세션 시크릿, HMAC이나 JWT 서명 키처럼 소프트웨어만 읽는 시크릿에는 토큰을 사용하세요. Hex는 숫자와 a부터 f까지의 문자만 씁니다. Base64url은 같은 바이트를 더 적은 문자로 표현하며, URL에서 이스케이프가 필요한 문자가 하나도 없습니다.
비슷하게 생긴 문자 제외 옵션은 비밀번호를 소리 내어 읽거나 종이에서 옮겨 적을 때 도움이 됩니다. 기호 집합에서는 셸 명령과 설정 파일을 깨뜨리기 쉬운 따옴표, 백슬래시, 백틱, 꺾쇠괄호, 공백을 뺐습니다. $, &, ! 같은 기호는 남아 있으므로, 명령줄에 비밀번호를 넘길 때는 작은따옴표로 감싸세요.
이 페이지는 브라우저의 암호학적 난수 생성기로 사용자의 기기에서 생성하며, 결과를 전송하거나 저장하지 않습니다. 다만 기기 자체는 보증할 수 없습니다. 악성 코드나 악의적인 브라우저 확장 프로그램은 페이지에 표시된 내용을 읽을 수 있습니다. 비밀번호 관리자를 사용한다면, 관리자에 내장된 생성기는 새 비밀번호를 생성과 동시에 저장해 줍니다.
문자 수가 아니라 비트 수를 세세요. 네 가지 문자 종류를 모두 쓰면 12자는 76비트, 16자는 102비트로, 계정 비밀번호로는 강력합니다. 키나 API 시크릿에는 128비트 이상을 목표로 하세요. 20자, 또는 16바이트 이상의 토큰입니다.
비트 수에 달려 있을 뿐입니다. 이 목록에서 고른 5단어는 50비트로 완전히 무작위인 8자와 비슷하고, 10단어는 100비트로 무작위 16자에 가깝습니다. 같은 강도라면 패스프레이즈가 더 길지만, 입력하고 기억하기는 훨씬 쉽습니다.
토큰 모드에서 32바이트(256비트)를 사용하고, 16바이트 미만으로는 절대 줄이지 마세요. 값은 소스 코드가 아니라 시크릿 관리 도구나 환경 변수에 보관하고, 로그, 채팅, 저장소에 노출되면 교체하세요.
별도의 창에서 열리며 오프라인에서도 계속 작동합니다.
설치하려면 공유 버튼을 누른 다음 “홈 화면에 추가”를 선택하세요.