비밀, 그리고 증명
이 카테고리의 도구들은 언뜻 무관해 보이지만, 공통점을 알아채면 이야기가 달라집니다.
비밀번호 생성기는 아무도 추측할 수 없는 비밀을 만듭니다. 추첨 검증기는 아무도 예측할 수 없었던 결과가 나중에 조용히 조작된 것이 아님을 증명합니다. 둘 다 무작위성에 관한 질문입니다 — 하나는 그것을 비밀로 유지하는 것에 대해, 다른 하나는 그것이 실제로 무작위였음을 증명하는 것에 대해 묻습니다.
두 번째 질문은 대부분의 사이트가 건너뛰는 부분입니다. 경품 추첨, 래플, 근무 배정 — 주최자는 추첨이 정직했다는 것을 알지만, 다른 모든 사람은 그 말을 믿는 수밖에 없습니다. 시드와 지문 값이 있으면 “저를 믿으세요”가 참가자 스스로 확인할 수 있는 무언가로 바뀝니다.
무엇을 선택해야 할까
자격 증명을 만들 때 — 로그인 비밀번호, 기억해서 입력해야 하는 암구호, 숫자 PIN, 또는 설정 파일에 넣을 API 키. 이 네 가지 모두 비밀번호 생성기에서 나오며, 엔트로피와 예상 해독 시간도 함께 보여주므로 어떤 길이를 고를지 추측이 아니라 정보에 기반한 선택이 됩니다.
다른 사람이 진행한 추첨을 확인할 때 — 인증서를 추첨 검증기에 붙여넣으세요. 시드로부터 결과를 다시 계산해 지문 값과 비교합니다. 둘이 일치하지 않으면 추첨 이후 숫자가 바뀐 것입니다.
여기서 비밀번호를 생성하는 것이 모순이 아닌 이유
웹사이트에서 비밀번호를 받아오는 것은 최악의 방법처럼 들립니다. 대개는 실제로 그렇습니다: 값이 서버에서 생성된다면 그것은 당신의 기기에 오기 전에 다른 누군가의 기계에 이미 존재했던 것이고, 그곳에서 무슨 일이 있었는지 알 방법이 없습니다.
여기서는 어떤 것도 서버에서 생성되지 않습니다. 문자는 crypto.getRandomValues()에서 나오며, 이는 운영체제의 엔트로피 풀을 사용하는 브라우저 API입니다 — 브라우저가 HTTPS를 협상할 때 쓰는 것과 같은 소스입니다. 이 페이지는 사용하는 동안 네트워크 요청을 전혀 하지 않습니다. 개발자 도구의 네트워크 탭을 열고 비밀번호를 생성하면서 아무 일도 일어나지 않는 것을 직접 확인할 수 있습니다. 그마저도 믿지 못하겠다면 네트워크 연결을 먼저 끊어보세요 — 도구는 여전히 작동합니다.
이 카테고리에 의도적으로 포함하지 않은 것
기존 비밀번호를 붙여넣어 확인하는 비밀번호 강도 검사기는 없습니다. 실제 비밀번호를 웹 양식에 입력해 “검사”받는 것은 그 사이트가 무엇을 약속하든 좋지 않은 습관이며, 생성기는 이미 자신이 만든 비밀번호의 엔트로피를 보여줍니다.
유출 조회 기능도, 비밀번호 관리자도, 해시 도구도 없습니다. 관리자가 필요하다면 전용 도구를 쓰세요 — Bitwarden, 1Password, KeePass는 모두 이 사이트가 해결할 수 없는 문제, 즉 비밀번호를 대신 기억해 주는 일을 해결합니다. 유출 확인에는 Have I Been Pwned가 기준입니다.