본문으로 건너뛰기
LeedyBox
후원

비밀번호·UUID 생성기

Web Crypto API로 브라우저에서 무작위 비밀번호와 UUID(v4, v7)를 만들고, UUID의 버전과 타임스탬프를 확인합니다.

비밀번호 생성기

문자 종류
추정 엔트로피: – –

엔트로피 = 길이 × log2(사용 가능한 문자 수). 이 추정치는 아래 비밀번호처럼 무작위로 생성한 비밀번호에만 적용됩니다.

생성된 비밀번호

    UUID 생성기

    UUID 검사기

    참고

    • 비밀번호와 UUID는 Web Crypto 난수 생성기로 브라우저에서 생성됩니다. LeedyBox로 전송되거나 저장되지 않으므로 LeedyBox는 이를 복구할 수 없습니다. 계속 쓸 비밀번호는 비밀번호 관리자에 저장하세요.
    • 계정마다 다른 비밀번호를 쓰고, 가능한 곳에서는 2단계 인증을 켜세요.
    • 강도 표시는 추정치입니다. 서비스가 비밀번호를 저장하는 방식이나 비밀번호가 데이터 유출에 포함된 적이 있는지는 고려하지 않습니다.
    • UUID v7에는 생성 시각이 들어 있어, 이를 보는 사람은 누구나 언제 생성됐는지 알 수 있습니다. 이것이 문제가 되는 곳에서는 v4를 쓰세요.
    • UUID는 식별자입니다. 비밀번호나 비밀 토큰으로 쓰지 마세요.

    사용 방법

    1. 숫자 입력란이나 슬라이더로 길이(4~128, 기본값 16)를 정하고, "비밀번호 개수 (1–50)" 칸에 원하는 개수를 입력하세요(기본값 5). 옵션을 바꿀 때마다 새 목록이 생성됩니다. 값이 범위를 벗어나거나 문자 설정을 사용할 수 없으면 목록 대신 무엇을 바꿔야 하는지 알려 주는 메시지가 나옵니다.
    2. "문자 종류"에서 사용할 문자 집합을 고르고, 필요하면 "사용할 기호"를 편집하세요. 비밀번호를 소리 내어 불러 주거나 종이에 적힌 것을 보고 입력해야 한다면 "헷갈리기 쉬운 문자 제외 (I l 1 O 0 o)"를 켜세요.
    3. 추정 엔트로피와 강도 표시를 확인한 다음, 비밀번호 옆의 "복사"를 누르거나 "모두 복사"를 눌러 목록 전체를 한 줄에 하나씩 복사하세요. "다시 생성"을 누르면 같은 설정으로 새 목록을 만듭니다.
    4. ID가 필요하면 "UUID 생성기"에서 "버전"으로 v4나 v7을 고르고 UUID 개수(1~100, 기본값 5)를 입력하세요. 사용하는 시스템이 그런 형식을 요구하면 "대문자"나 "하이픈 없이", 또는 둘 다 켠 뒤 "UUID 생성"을 누르세요. 버전이나 두 체크박스 중 하나를 바꾸면 지금 있는 UUID의 표기만 바뀌는 것이 아니라, 다른 UUID로 된 새 목록이 만들어집니다. "UUID 생성" 옆의 "모두 복사" 버튼을 누르면 UUID 목록을 한 줄에 하나씩 복사합니다.
    5. 기존 UUID를 확인하려면 "UUID 검사기"의 "UUID 붙여넣기" 칸에 붙여넣으세요. 결과는 입력하는 동안 갱신됩니다. 하이픈이 있든 없든, 대문자든 소문자든, 중괄호로 감쌌거나 urn:uuid: 접두사가 붙어 있어도 받아들입니다. 결과에는 올바른 UUID인지와 함께 정규화된 형식(하이픈이 들어간 소문자), 변형(variant), 버전이 표시되고, UUID에 타임스탬프가 들어 있으면 타임스탬프도 표시됩니다. nil UUID와 max UUID는 변형과 버전 대신 유형을 표시합니다.

    자주 묻는 질문

    비밀번호는 얼마나 무작위이며, 복사해도 괜찮은가요?

    각 문자는 브라우저에 내장된 암호학적으로 안전한 난수 생성기인 crypto.getRandomValues로 고르며, 단순한 나머지 연산에서 생기는 편향을 피하기 위해 거부 샘플링(rejection sampling)을 사용합니다. 그런 다음 문자의 순서를 섞습니다. 목록은 열려 있는 페이지에만 있으며, 페이지를 새로 고치거나 "다시 생성"을 누르거나 옵션을 바꾸면 새 목록으로 바뀝니다. 복사한 비밀번호는 다른 내용으로 바뀔 때까지 클립보드에 남고, 클립보드 기록이나 동기화 기능이 사본을 보관하거나 다른 기기로 넘길 수 있습니다. 비밀번호 관리자에 붙여넣은 뒤에는 다른 내용을 복사하고, 클립보드 기록이 있다면 거기서도 해당 항목을 지우세요.

    약함, 보통, 강함, 매우 강함은 무엇을 뜻하고, 비밀번호는 얼마나 길어야 하나요?

    추정 엔트로피의 구간입니다. 40비트 미만은 약함, 40비트 이상 60비트 미만은 보통, 60비트 이상 80비트 미만은 강함, 80비트 이상은 매우 강함입니다. 글자 하나마다 사용 가능한 문자 수의 log2만큼 엔트로피가 더해지는데, 기본값인 85개(네 가지 문자 종류와 기본 기호를 모두 사용)에서는 글자당 약 6.4비트이므로 기본 길이 16자는 약 102.6비트로 매우 강함입니다. 비밀번호 관리자에 보관할 무작위 비밀번호라면, 사이트가 허용하는 한 매우 강함 구간에 드는 길이를 목표로 삼는 것이 합리적입니다. 사이트에서 영문자와 숫자만 허용한다면 기호가 빠진 만큼 길이로 보완하세요. 이 62개 문자로 20자를 만들면 약 119비트가 됩니다.

    실제 강도가 추정치보다 낮을 수 있는 이유는 무엇인가요?

    "선택한 문자 종류마다 최소 한 글자씩 포함"을 켜 두면 어떤 문자 종류가 빠진 비밀번호는 만들어지지 않고, 비밀번호 글자 수가 선택한 문자 종류 수보다 많으면 나머지 글자들이 모두 같은 확률로 나오지는 않습니다. 그래서 실제 엔트로피는 길이 × log2(사용 가능한 문자 수)로 계산한 값보다 낮습니다. 이 차이는 짧은 비밀번호에서는 눈에 띄지만 긴 비밀번호에서는 작습니다. 기본 문자 종류 네 가지로 4자를 만들면 약 25.6비트로 표시되지만 정확한 값은 약 21.8비트이고, 기본값인 16자에서는 차이가 0.5비트도 되지 않습니다. 이 옵션을 끄면 각 글자를 사용 가능한 모든 문자 중에서 독립적으로 뽑으므로, 추정치가 실제 생성 방식과 일치합니다.

    웹사이트에서 일부 기호를 받지 않습니다. 어떻게 해야 하나요?

    "사용할 기호" 칸에서 사이트가 받지 않는 기호를 지우거나, 허용하는 기호만 입력하세요. 입력하는 동안 목록이 다시 생성됩니다. 공백은 무시되며, 같은 문자를 두 번 입력해도 한 번으로 셉니다. 사이트에서 기호를 꼭 넣어야 한다면 "선택한 문자 종류마다 최소 한 글자씩 포함"을 켜 두세요. 기호를 전혀 받지 않는다면 "기호" 체크를 해제하고, 줄어든 문자 수를 보완하도록 길이를 늘리세요.

    UUID v4와 v7 중 무엇을 써야 하나요?

    순서가 중요하지 않거나 ID에서 생성 시각을 알아낼 수 없어야 한다면 v4를 쓰세요. v7 UUID는 밀리초 단위의 48비트 Unix 타임스탬프로 시작하고, 버전 비트와 변형 비트를 뺀 나머지 74비트는 무작위입니다. 다만 일부 생성기는 그중 일부를 카운터나 더 정밀한 시간에 씁니다. 그래서 v7 UUID는 대략 생성 순서대로 정렬되며, 데이터베이스 키로 쓰면 새 항목이 인덱스에서 가까운 위치에 모이는 경우가 많습니다. 이 페이지에서는 각 밀리초에 처음 만드는 v7 UUID에 무작위 비트 73개를 쓰고, 74비트 중 맨 위 비트는 0으로 둡니다. 같은 밀리초 안에 v7 UUID를 더 만들거나 기기 시계가 뒤로 가면, 무작위 값을 새로 뽑지 않고 바로 앞의 값을 무작위 크기만큼 늘리므로 이때도 순서대로 생성됩니다.

    생성한 UUID 두 개가 같을 수 있나요?

    이론상으로는 가능하지만, 브라우저의 난수 생성기가 의도대로 동작한다면 실제로는 무시할 수 있을 만큼 확률이 낮습니다. v4 UUID에는 무작위 비트가 122개 있으므로, 그중 어느 두 개가 같을 확률이 50%가 되려면 약 2.7 × 10^18개를 만들어야 합니다. 이 페이지에서 만드는 v7 UUID는 각각 바로 앞의 것보다 크므로 페이지가 열려 있는 동안에는 중복되지 않습니다. 다른 곳에서 만든 v7 UUID가 이 중 하나와 같으려면 밀리초와 무작위 비트가 모두 같아야 합니다.

    UUID 검사기에서 어떤 UUID는 타임스탬프가 표시되고 어떤 UUID는 표시되지 않는 이유는 무엇인가요?

    검사기는 RFC 9562 변형 가운데 정해진 위치에 시간을 저장하는 버전 1, 6, 7에서만 시간을 읽습니다. 버전 1과 6은 1582년 10월 15일부터의 100나노초 간격 수를, 버전 7은 1970-01-01 UTC부터의 밀리초 수를 담고 있습니다. 시간은 UTC로 밀리초까지 표시됩니다. 이 시간은 UUID를 만든 기기의 시계에서 나온 것이고 일부 생성기는 값을 옮기거나 반올림하므로, 대략적인 생성 시각으로 보세요. 버전 2는 타임스탬프의 일부를 다른 데이터로 대체하고, 버전 8은 만든 쪽이 구조를 정하며, 버전 3, 4, 5에는 시간이 들어 있지 않습니다.