เป็นที่ยอมรับได้เมื่อสมมติว่าตัวเลขสุ่มจะไม่ซ้ำกัน แต่คุณต้องระวัง
สมมติว่าตัวเลขสุ่มของคุณจะถูกกระจายอย่างเท่าเทียมกันน่าจะเป็นของการปะทะกันเป็นประมาณ (n 2 /2) / k ที่ n คือจำนวนของตัวเลขสุ่มที่คุณสร้างและ k เป็นจำนวนของค่าที่เป็นไปได้เป็นจำนวนมาก "สุ่ม" สามารถใช้
คุณไม่ได้ใส่ตัวเลขในทางดาราศาสตร์ที่ไม่น่าจะเป็นไปได้ดังนั้นให้นำมันมาเป็น 1 ใน 2 30 (ประมาณเป็นพันล้าน) ให้บอกอีกว่าคุณสร้าง 2 30แพ็กเก็ต (ถ้าแต่ละแพ็กเก็ตแสดงข้อมูลประมาณหนึ่งกิโลไบต์ดังนั้นนี่หมายถึงเทราไบต์ของข้อมูลทั้งหมดซึ่งมีขนาดใหญ่ แต่ไม่มากจนเกินไป) เราพบว่าเราต้องการตัวเลขสุ่มที่มีค่าที่เป็นไปได้อย่างน้อย 2 89
ประการแรกตัวเลขสุ่มของคุณจะต้องใหญ่พอ จำนวนสุ่ม 32 บิตสามารถมีได้สูงสุด 2 32ค่าที่เป็นไป สำหรับเซิร์ฟเวอร์ไม่ว่างที่ไม่มีที่อยู่ใกล้สูงพอ
ประการที่สองตัวสร้างตัวเลขสุ่มของคุณต้องมีสถานะภายในที่มีขนาดใหญ่พอสมควร หากตัวสร้างตัวเลขสุ่มของคุณมีสถานะภายใน 32- บิตเท่านั้นไม่ว่ามูลค่าที่คุณสร้างนั้นจะใหญ่เพียงใดก็ตามคุณยังจะได้รับค่าที่เป็นไปได้มากที่สุด 2 32
ประการที่สามถ้าคุณต้องการตัวเลขสุ่มที่จะไม่ซ้ำกันในการเชื่อมต่อมากกว่าแค่ภายในการเชื่อมต่อเครื่องกำเนิดตัวเลขสุ่มของคุณจะต้องมีเมล็ดดี โดยเฉพาะอย่างยิ่งหากโปรแกรมของคุณเริ่มต้นใหม่บ่อยครั้ง
โดยทั่วไปเครื่องกำเนิดตัวเลขสุ่ม "ปกติ" ในภาษาการเขียนโปรแกรมไม่เหมาะสำหรับการใช้งานดังกล่าว เครื่องกำเนิดเลขสุ่มโดยห้องสมุดการเข้ารหัสโดยทั่วไปคือ