หมายเลขสุ่ม เครื่องกำเนิดไฟฟ้า
สร้างตัวเลขสุ่มทันทีในเบราว์เซอร์ของคุณ ปรับแต่งช่วง การนับ และรูปแบบ ฟรี เป็นส่วนตัว และไม่มีข้อมูลถูกส่งไปยังเซิร์ฟเวอร์ใดๆ
สร้าง
สร้างตัวเลขสุ่มทันทีในเบราว์เซอร์ของคุณ ปรับแต่งช่วง การนับ และรูปแบบ ฟรี เป็นส่วนตัว และไม่มีข้อมูลถูกส่งไปยังเซิร์ฟเวอร์ใดๆ
สร้าง
เครื่องสร้างตัวเลขสุ่มจะสร้างตัวเลขภายในช่วงที่ระบุโดยไม่มีรูปแบบที่คาดเดาได้ การใช้งานทั่วไป ได้แก่ การทอยลูกเต๋า การเลือกหมายเลขลอตเตอรี การสุ่มตัวอย่างสำหรับงานทางสถิติ การสร้างข้อมูลการทดสอบ และบริบทใดๆ ที่จำเป็นต้องเลือกอย่างเป็นกลาง คุณภาพของการสุ่มขึ้นอยู่กับแหล่งที่มา: แหล่งที่มาที่อ่อนแอสามารถสร้างตัวเลขที่ดูสุ่มแต่มีรูปแบบที่ตรวจพบได้ แหล่งที่มาที่แข็งแกร่งนั้นคาดเดาไม่ได้แม้กระทั่งการวิเคราะห์ที่ซับซ้อน
ตัวสร้างนี้ใช้แหล่งสุ่มที่ปลอดภัยแบบเข้ารหัสของเบราว์เซอร์ (window.crypto.getRandomValues) สำหรับการใช้งานที่เกี่ยวข้องกับความปลอดภัย โดยมีตัวเลือกสำรอง Math.random สำหรับการใช้งานด้านความบันเทิงที่ความเร็วมีความสำคัญมากกว่าความปลอดภัย สำหรับการทอยลูกเต๋า การเลือกการแข่งขัน หรืออะไรก็ตามที่ส่งผลต่อผลลัพธ์ แหล่งที่ปลอดภัยคือตัวเลือกที่เหมาะสม
สามารถกำหนดค่าช่วงเอาต์พุตและการนับได้ สร้างตัวเลขหนึ่งหมายเลข หลายๆ หมายเลขในคราวเดียว หรือสร้างลำดับที่มีเอกลักษณ์เฉพาะตัว (ไม่ซ้ำกัน) รูปแบบเอาต์พุตประกอบด้วยตัวเลขธรรมดา รายการที่คั่นด้วยเครื่องหมายจุลภาค และข้อความแบบหนึ่งรายการต่อบรรทัด
การตัดสินใจเล็กๆ น้อยๆ หลายอย่างจะได้รับประโยชน์จากการสุ่มเลือกที่เป็นกลาง การเลือกผู้ชนะสำหรับการแข่งขัน ตัดสินใจว่าจะลองร้านอาหารไหน สุ่มลำดับของกรณีทดสอบ การสุ่มตัวอย่างแถวจากชุดข้อมูล ทั้งหมดนี้ได้รับการปรับปรุงโดยตัวสร้างตัวเลขสุ่มที่ไม่รวมอคติของมนุษย์
งานทางสถิติและวิทยาศาสตร์ยังขึ้นอยู่กับการสุ่มคุณภาพด้วย การจำลองแบบมอนติคาร์โล การกำหนดบัคเก็ตการทดสอบ A/B การสุ่มอินพุตการทดสอบ และเทคนิคอื่นๆ อีกมากมาย จำเป็นต้องมีตัวเลขที่มีความสม่ำเสมอทางสถิติและคาดเดาไม่ได้กับระบบที่กำลังศึกษา
กำหนดช่วงและการนับ สร้าง
การสร้างจำนวนเต็มแบบสุ่ม: รับไบต์ (หรือคำ) แบบสุ่มจาก crypto.getRandomValues ใช้การสุ่มตัวอย่างการปฏิเสธเพื่อหลีกเลี่ยงอคติแบบโมดูโล แมปไปยังช่วงที่ต้องการ โมดูโลธรรมดาที่ไม่มีการสุ่มตัวอย่างแบบปฏิเสธจะทำให้เกิดอคติเล็กน้อยสำหรับช่วงที่ไม่แบ่งเท่าๆ กันในช่วงของแหล่งที่มา การสุ่มตัวอย่างการปฏิเสธจะหลีกเลี่ยงสิ่งนี้
การสร้างจำนวนเต็มสม่ำเสมอที่ปราศจากอคติ: สร้างไบต์แบบสุ่ม หากไบต์ > พื้น (256/ช่วง) × ช่วง ให้ปฏิเสธและลองอีกครั้ง ไม่เช่นนั้นจะส่งคืนช่วงไบต์ของ mod อัตราการปฏิเสธโดยเฉลี่ยอยู่ที่สูงสุด 50% ดังนั้นอัลกอริทึมจึงทำงานได้รวดเร็วแม้ในช่วงที่ไม่สะดวกก็ตาม
Math.random กับ crypto.getRandomValues: Math.random เร็วกว่า แต่ใช้ xorshift หรือ PRNG ที่คล้ายกันซึ่งสามารถคาดการณ์ได้เมื่อมีเอาต์พุตเพียงพอ crypto.getRandomValues มีความปลอดภัยแบบเข้ารหัส สำหรับการใช้งานที่ไม่ปลอดภัย (ลูกเต๋า หยิบแบบสบาย ๆ) ใช้งานได้ทั้งคู่ เพื่อความปลอดภัยให้ใช้ crypto