추첨기·난수 생성기

목록의 항목 또는 지정한 정수 범위에서 결과를 뽑습니다. 브라우저의 crypto.getRandomValues를 사용하며 한 번의 추첨 결과 안에서는 중복되지 않습니다.

추첨 전에 목록 확인

이름이나 선택지를 한 줄에 하나씩 입력하세요. 빈 줄은 제외하고 앞뒤 공백은 제거합니다. 공백을 정리한 뒤 같은 내용인 줄은 하나의 항목으로 취급합니다. 대문자와 소문자는 구분하므로 Alex와 ALEX는 서로 다른 항목입니다. 추첨 전에 참여 조건과 명단을 확인하고 관계자끼리 기준을 정하는 것이 좋습니다. 도구는 실제 신원, 응모권 소유, 참가 자격이나 명단에 포함될 동의를 확인하지 않습니다.

결과 개수 정하기

추첨 개수에 하나부터 백까지의 정수를 입력하고 목록에서 추첨 또는 숫자 추첨을 누르세요. 개수는 선택 가능한 항목 수 이하여야 합니다. 목록은 최대 일만 개의 서로 다른 항목을 지원하고 입력 영역은 십만 글자로 제한합니다. 목록에서 선택된 항목은 해당 추첨 동안 임시 후보에서 빠져 같은 결과 안에 다시 나오지 않습니다. 새로 추첨하면 전체 후보에서 다시 시작하므로 이전 당첨자가 다시 나올 수 있습니다.

정수 범위에서 숫자 뽑기

숫자 모드에서는 음의 십억부터 양의 십억 사이의 정수로 최솟값과 최댓값을 지정합니다. 양쪽 끝값도 후보에 포함합니다. 예를 들어 최솟값 1, 최댓값 10, 개수 3이면 하나부터 열까지 중 서로 다른 숫자 세 개가 나옵니다. 음수도 사용할 수 있고 범위에 값이 하나뿐이면 한 개를 뽑을 수 있습니다. 소수, 최솟값이 더 큰 범위, 후보보다 많은 개수는 임의로 보정하지 않고 오류로 안내합니다.

무작위 값을 선택하는 방식

브라우저의 crypto.getRandomValues에서 부호 없는 32비트 값을 가져옵니다. 후보 수의 배수 범위를 벗어난 값은 버린 뒤 나머지 연산을 적용하여 지원 범위에서 단순 나머지 연산으로 생기는 편향을 피합니다. 목록 추첨은 남은 후보의 인덱스를 선택합니다. 숫자 추첨은 이미 뽑은 값을 기록해 이번 결과 안의 중복을 막습니다. 보안 난수를 사용할 수 없는 환경에서 Math.random으로 대신 진행하지 않으며 추첨을 완료하지 않습니다.

예시와 결과 보관

수업에서 토론할 주제 네 개를 입력하고 두 개를 뽑는 방식으로 사용할 수 있습니다. 복사는 가장 최근에 성공한 결과를 줄 단위의 일반 텍스트로 복사합니다. 새 추첨은 화면의 결과를 바꾸고, 새로고침은 현재 세션을 지웁니다. 기록이 필요한 활동이라면 후보 목록, 설정과 결과를 별도로 보관하세요. 이 페이지 자체는 서명된 추첨 증명서나 외부에서 검증할 수 있는 공개 감사 기록을 만들지 않습니다.

자주 묻는 질문과 한계

중복 없음은 이후 추첨에서도 영구 제외된다는 뜻인가요? 한 번의 추첨 안에서만 적용됩니다. 주최자가 다시 뽑지 않았다는 사실을 증명할 수 있나요? 서버 기록이나 독립적인 입회 기능이 없어 증명할 수 없습니다. 유료 복권이나 결제 서비스인가요? 브라우저에서 후보를 고르는 보조 도구이며 참가 자격이나 법적 준수 여부를 판정하지 않습니다. 명단과 선택 계산은 이 브라우저 안에서 처리되고 별도의 추첨 서비스로 제출되지 않습니다.

MDN — crypto.getRandomValues()