당첨자 추첨기 사용 방법
참가자 목록을 한 줄에 한 명씩 붙여넣으면 바로 인원이 계산됩니다. 인스타그램·유튜브 댓글 아이디, 엑셀이나 구글 시트의 이름 열, 설문 응답 목록 모두 됩니다. 당첨과 예비 당첨 인원을 정하고 추첨하기를 누르세요.
- 추첨하면 아래 무대 화면에서 이름이 빠르게 돌아가다가 첫 당첨자에서 멈춥니다. 이어서 다음 공개를 누를 때마다 한 명씩 발표되고, 당첨자를 모두 공개한 뒤 예비 당첨자가 차례로 나옵니다.
- 당첨자가 많다면 모두 공개로 남은 결과를 한 번에 볼 수 있습니다. 당첨 인원 제한은 없습니다.
- 결과 복사는 당첨자·예비 당첨자 명단을, 증명 텍스트 복사는 명단과 추첨 시각·시드·해시·검증 링크를 한꺼번에 복사합니다. 당첨자 발표 글에 그대로 붙여넣기 좋습니다.
- 실수로 페이지를 새로고침해도 마지막 추첨 다시 보기로 같은 결과를 다시 불러올 수 있습니다(같은 목록이 남아 있을 때).
댓글·엑셀 목록 정리 옵션
붙여넣은 목록은 아래 옵션에 따라 정리된 뒤 추첨에 쓰입니다. 정리 결과는 "원본 152줄 → 참가자 140명 (중복 9개 · 빈 줄 3개 제외)"처럼 바로 표시되고, 정리된 목록 보기에서 한 줄씩 확인할 수 있습니다.
- 중복 제거: 같은 아이디가 여러 번 나오면 하나만 남깁니다. 한 사람이 댓글을 여러 개 달아도 한 번만 응모한 것으로 칩니다.
- 중복 제거를 끄면 여러 번 응모한 사람은 그만큼 뽑힐 확률이 높아집니다. 이때도 한 사람이 두 번 당첨되지는 않도록, 이미 뽑힌 이름이 다시 나오면 건너뜁니다.
- 맨 앞 @ 제거: "@minji"와 "minji"를 같은 사람으로 셉니다.
- 첫 번째 열만 사용: 엑셀에서 여러 열을 함께 복사했거나 CSV 파일을 붙여넣었을 때 첫 번째 칸(보통 이름이나 아이디)만 씁니다.
- 앞뒤 공백 제거, 빈 줄 무시: 복사할 때 섞여 들어온 공백과 빈 줄을 정리합니다.
추첨 방식과 공정성
추첨 버튼을 누르는 순간 브라우저의 암호학적 난수 생성기(crypto.getRandomValues)로 128비트 시드를 만듭니다. 동시에 정리된 참가자 목록 전체의 SHA-256 해시를 계산합니다. 해시는 목록의 지문 같은 값으로, 목록에서 글자 하나나 순서만 바뀌어도 완전히 다른 값이 나옵니다.
추첨 키는 "시드:목록해시"를 다시 SHA-256으로 계산한 값의 앞 128비트이고, 이 키로 동작하는 의사난수 생성기 xoshiro128**와 Fisher–Yates 섞기로 당첨자와 예비 당첨자를 차례로 뽑습니다. 난수를 인원 수로 나눌 때 생기는 미세한 편향도 거부 샘플링으로 없앴기 때문에, 중복 제거를 켠 목록에서는 모든 참가자의 당첨 확률이 정확히 같습니다.
목록이 시드와 함께 결과를 정하므로, 같은 시드와 같은 목록이면 누가 어디서 계산해도 같은 당첨자가 나옵니다. 이 성질 덕분에 아래의 검증 링크로 결과를 재현할 수 있습니다. 모든 계산은 브라우저 안에서 이뤄지며 목록은 서버로 전송되지 않습니다.
검증 링크와 추첨 증명 활용법
추첨이 끝나면 추첨 증명에 추첨 시각, 참가자 수, 목록 SHA-256, 시드가 표시됩니다. 검증 링크를 당첨자 발표 글에 함께 올리면, 참가자 누구나 링크를 열어 같은 결과가 나오는지 직접 확인할 수 있습니다.
목록이 짧으면 링크에 목록을 함께 담을 수 있어 버튼 한 번으로 재현됩니다. 이때는 참가자 아이디가 모두 링크에 담기므로 공개해도 되는지 먼저 확인하세요. 목록이 길거나 포함하지 않기로 했다면 링크에는 시드와 해시만 들어갑니다. 검증하는 사람은 공개된 참가자 목록(예: 댓글 목록)을 같은 순서로 붙여넣으면 되고, 해시가 일치하는지부터 자동으로 확인합니다.
검증 링크가 증명하는 것은 "이 목록과 이 시드로 이 결과가 나온다"는 사실입니다. 진행자가 추첨을 여러 번 해 보고 마음에 드는 결과만 발표했는지는 링크만으로 알 수 없습니다. 신뢰가 중요한 이벤트라면 추첨 전에 참가자 목록(또는 목록 해시)을 먼저 공개하고, 추첨 과정은 화면 녹화나 라이브 방송으로 한 번에 진행하세요.
화면 녹화·라이브 추첨 팁
영상으로 남길 때 보기 좋게 만든 기능입니다.
- 전체화면을 누르면 무대 화면만 크게 띄웁니다. 전체화면에서는 스페이스바, 엔터, 오른쪽 화살표 키로 다음 당첨자를 공개할 수 있어 방송 중 조작이 간편합니다.
- 추첨 제목을 적으면 무대 위에 표시되어 녹화 영상만 봐도 어떤 이벤트인지 알 수 있습니다.
- 녹화를 시작한 뒤 목록 정리 결과(참가자 수)를 화면에 먼저 보여 주고 추첨하면, 목록을 바꾸지 않았다는 점을 함께 보여 줄 수 있습니다.
- 기기의 "동작 줄이기" 설정이 켜져 있으면 회전 효과 없이 결과만 바로 표시합니다.
이벤트 진행 시 참고할 점
당첨자를 발표할 때는 아이디 일부를 가리는 등 참가자 개인정보가 불필요하게 노출되지 않도록 주의하세요. 이 도구는 추첨만 돕는 참고용 도구이며, 경품 지급 방법이나 세금처럼 이벤트 운영과 관련된 의무는 주최자가 관련 기관의 안내와 각 플랫폼의 이벤트 정책을 직접 확인해야 합니다.
자주 묻는 질문
참가자는 몇 명까지 넣을 수 있나요?
정해진 제한이 없습니다. 수만 줄도 브라우저에서 바로 정리하고 추첨합니다. 당첨 인원도 원하는 만큼 정할 수 있습니다.
한 사람이 댓글을 여러 개 달았어요.
중복 제거를 켜 두면(기본값) 같은 아이디는 한 번만 응모한 것으로 칩니다. 여러 번 응모할수록 확률이 높아지는 이벤트라면 중복 제거를 끄세요. 그래도 한 사람이 두 번 당첨되지는 않습니다.
인스타그램이나 유튜브 댓글은 어떻게 붙여넣나요?
댓글 화면을 통째로 복사하면 아이디 말고도 댓글 내용, 시간, "답글" 같은 줄이 섞입니다. 댓글 내보내기 도구나 스프레드시트로 아이디 열만 정리한 뒤 붙여넣는 것이 가장 정확합니다. 여러 열을 함께 붙여넣었다면 첫 번째 열만 사용을 켜세요.
검증 링크로 결과가 똑같이 나오지 않아요.
목록의 내용이나 순서가 조금이라도 다르면 해시가 달라져 재현되지 않습니다. 원래 추첨에 쓴 목록을 같은 순서로 붙여넣었는지 확인하세요. 목록 정리 옵션은 링크에 담긴 값으로 자동 고정됩니다.
예비 당첨자는 언제 쓰나요?
당첨자가 기한 안에 연락이 없거나 경품을 받을 수 없을 때 차례로 넘겨주기 위한 명단입니다. 예비 당첨자는 당첨자와 겹치지 않으며, 추첨할 때 순서(예비 1, 예비 2…)까지 함께 정해지므로 나중에 따로 뽑을 필요가 없습니다.
추첨 결과를 조작할 수 있나요?
시드는 추첨 순간 암호학적 난수로 만들어지고, 결과는 시드와 목록 해시로만 정해집니다. 다만 진행자가 여러 번 추첨해 보는 것까지 막을 수는 없으므로, 공정성이 중요하면 목록을 먼저 공개하고 추첨 과정을 녹화하거나 생중계하세요.
목록이 서버에 저장되나요?
아니요. 정리와 추첨, 해시 계산은 모두 브라우저 안에서 이뤄집니다. 다음 방문을 위해 목록과 마지막 추첨 정보가 이 브라우저에만 저장되며, 지우기 버튼으로 비울 수 있습니다.