강력한 무작위 비밀번호가 만들어지는 원리
이 도구가 하는 일
이 도구는 켜 둔 문자 종류——대문자, 소문자, 숫자, 기호——를 조합해 4자에서 128자 사이의 원하는 길이로 무작위 비밀번호를 만듭니다. 각 문자는 급조된 스크립트가 흔히 쓰는 예측 가능한 Math.random이 아니라, 브라우저에 내장된 암호학적으로 안전한 난수원 crypto.getRandomValues에서 뽑아냅니다. 강도 표시기가 결과마다 약함, 보통, 강함으로 평가하고, 최근 기록이 남아 있어 어느 것을 쓸지 고르는 동안 손쉽게 다시 꺼내 볼 수 있습니다.
언제 사용하나요
계정, 데이터베이스, API 키, Wi-Fi 네트워크처럼 사람이 스스로는 결코 떠올리지 않을 자격 증명이 필요할 때마다 쓰기 좋습니다. 생성된 문자열에는 사전 단어도, 키보드 배열 패턴도, 개인 정보도 들어 있지 않은데, 바로 이 점이 추측 공격과 무차별 대입 공격을 막아 줍니다. '기호 하나 이상을 포함한 16자 이상'처럼 사이트가 구체적인 정책을 요구할 때도, 복사하기 전에 길이와 문자 집합을 그에 맞게 조정할 수 있어 편리합니다.
구체적인 예시
어떤 서비스가 기호를 포함해 20자를 요구한다고 해 봅시다. 슬라이더를 20으로 맞추고 네 가지 문자 종류를 모두 켠 채 생성하면 k7$Rf2!qXm9@Lp4#Vn8w 같은 결과가 나올 수 있습니다. 손으로 입력하거나 소리 내어 읽을 생각이라면 '비슷한 문자 제외'를 켜서 소문자 l, 숫자 1, 대문자 O, 숫자 0처럼 헷갈리는 문자가 섞이지 않게 하고, '모호한 문자 제외'로 일부 입력란이 잘 처리하지 못하는 괄호와 따옴표를 빼세요.
참고 사항과 엣지 케이스
길이는 그 어떤 잔재주보다 중요합니다. 문자가 하나 늘어날 때마다 가능한 조합의 수가 폭증하기 때문에, 작은 문자 집합으로 만든 긴 비밀번호가 기호로 가득 채운 짧은 것을 앞서는 경우가 많습니다. 문자 종류를 하나 끄면 그 후보군이 줄고, 모두 끄면 만들 재료가 하나도 남지 않으므로 최소한 한 종류는 선택된 상태로 두어야 합니다. 끝으로 진짜 약점은 재사용입니다. 비밀번호의 안전성은 그것이 지키는 단 하나의 사이트만큼밖에 되지 않으니, 같은 강력한 문자열을 여기저기 돌려 쓰지 말고 계정마다 새롭고 고유한 것을 생성하세요.