کہاں سے شروع کریں
پڑھیں کہ بے ترتیب نمبر جنریٹر کیا ہے: ہارڈویئر، سیوڈو رینڈم اور کرپٹوگرافک طور پر محفوظ جنریٹرز، نمبرز کیوں دہرائے جاتے ہیں، اور براؤزر میں کیا سہولیات دستیاب ہیں۔ جب آپ کو وضاحت کے بجائے نمبرز کی ضرورت ہو، تو بے ترتیب نمبر جنریٹر آپ کے براؤزر میں کسی بھی حد کے اندر، تکرار کے ساتھ یا بغیر، نمبرز نکالتا ہے۔
جہاں جنریٹرز خاموشی سے غلطی کرتے ہیں
بے ترتیبی کا ایک مضبوط ذریعہ کام کا صرف نصف حصہ ہے۔ باقی آدھا کام ان خام اقدار کو آپ کی مطلوبہ حد پر منتقل کرنا ہے، اور یہی وہ جگہ ہے جہاں خود سے بنائے گئے اکثر جنریٹرز ناکام ہو جاتے ہیں۔ کسی قدر کا حد کے سائز کے ساتھ ماڈیولو (modulo) لینا ایک عام طریقہ ہے لیکن اس میں ایک مخفی جھکاؤ ہوتا ہے: جب تک کہ حد کا سائز ذریعے کی آؤٹ پٹ اسپیس کو برابر تقسیم نہ کرے، حد کے سب سے چھوٹے نمبرز باقی نمبرز کے مقابلے میں قدرے زیادہ نکلتے ہیں۔ یہ خامی modulo bias کہلاتی ہے۔ اس کا ایک حل rejection sampling ہے: یعنی وہ اقدار خارج کر دی جائیں جو غیر متوازن حصے میں آئیں اور دوبارہ انتخاب کیا جائے۔ ہمارا جنریٹر یہی طریقہ اپناتا ہے، اس لیے ہر قرعہ اندازی میں آپ کی حد کے ہر نمبر کا یکساں امکان ہوتا ہے۔
یہی دلیل ان مختصر راستوں کو بھی مسترد کرتی ہے جنہیں لوگ سب سے پہلے اپناتے ہیں۔ Math.random() سیکیورٹی کی کوئی ضمانت نہیں دیتا، اور اسپریڈ شیٹ کے فنکشنز جیسے RAND() اور RANDBETWEEN() بھی اسی زمرے سے تعلق رکھتے ہیں: یہ سرسری اختلاط کے لیے تو ٹھیک ہیں، لیکن کسی بھی ایسے معاملے کے لیے غلط ہیں جس پر کوئی شخص اعتراض کر سکے۔
نمبرز، فہرستیں اور ڈائس
ایک بے ترتیب نمبر جنریٹر آپ کی مقرر کردہ حد سے نمبرز واپس کرتا ہے۔ جبکہ بے ترتیب نام چننے والا ٹول آپ کی درج کردہ فہرست پر کام کرتا ہے — نام، اندراجات، اختیارات — تاکہ آپ کو کبھی ہاتھ سے نمبرز کو قطاروں سے ملانا نہ پڑے۔ بورڈ گیمز کے لیے ڈائس رولر ڈائس پھینکتا ہے اور مجموعی اسکور جوڑتا ہے، اور دو میں سے ایک کے انتخاب کے لیے سکہ اچھالنا کافی ہے۔ جب بے ترتیبی کا مقصد فیصلہ کرنے کے بجائے کسی چیز کی حفاظت کرنا ہو، تو مضبوط پاس ورڈ جنریٹر استعمال کریں۔ یہ تمام ٹولز آپ کے براؤزر میں اسی کرپٹوگرافک طور پر محفوظ ذریعے سے کام کرتے ہیں۔