رشته های تصادفی – جامعه dev

تولید اعداد تصادفی در طیف گسترده ای از برنامه ها مهم است. به عنوان مثال ، شناسه های جلسه اغلب از اعداد تصادفی استفاده می کنند. آنها همچنین در تولید رمزهای عبور استفاده می شوند. مثال دیگر تعادل بار است که در آن (به جای رابین دور) ، روند بعدی موجود برای ارائه درخواست به طور تصادفی انتخاب می شود. برخی از برنامه ها (مانند قمار) به خصوصیات تصادفی بستگی دارند. هر نوع شبیه سازی به شدت به اعداد تصادفی متکی است. برنامه های مالی و رای گیری از نمونه های تصادفی برای تعیین نتایج و سیاست ها استفاده می کنند. لیست کاربردهای احتمالی بسیار طولانی است.
بنابراین با توجه به این نکته ، تولید شماره های تصادفی در گلف آسان است. متداول ترین روش عبارت تصادفی است:
random-string to rnd
p-out rnd new-line
به طور پیش فرض “RND” یک رشته تصادفی از طول 20 متشکل از رقم (0-9) و حروف (AZ و AZ) خواهد بود.
می توانید طول مورد نظر را مشخص کنید:
random-string to rnd length 100
که یک رشته تصادفی از طول 100 ایجاد می کند.
همچنین می توانید اصرار داشته باشید که فقط از رقم ساخته می شود:
random-string to rnd length 100 number
و می توانید یک رشته تصادفی باینری درست کنید ، به این معنی که هر بایت از 0-255 در ارزش با:
random-string to rnd length 100 binary
البته چنین رشته ای می تواند یک بایت صفر در آن داشته باشد. نگران نباشید ، زیرا گلف طول رشته را پیگیری می کند ، و استفاده از این رشته (به عنوان مثال کپی کردن) به درستی انجام می شود.
توجه داشته باشید که وقتی می گوییم “تصادفی” ، ما واقعاً منظورم شبه تصادفی است. دستیابی به ارزش کاملاً تصادفی بیشتر در حوزه طبیعت مادر و مکانیک کوانتومی است. با این حال ، گلف در تلاش است تا تصادفی بسیار خوبی را ارائه دهد ، که مبتنی بر خصوصیات فرآیند محلی ، مانند شناسه فرآیند (PID) و زمان فعلی متنوع است.
اگر می خواهید تصادفی را به صورت شکاف بالا ببرید ، می توانید از عبارت Crypto تصادفی استفاده کنید. این از یک ژنراتور شبه تصادفی رمزنگاری ایمن (CSPRNG) از کتابخانه OpenSSL استفاده می کند ، که به یک مفهوم واقعاً تصادفی نزدیکتر است. توجه داشته باشید با این حال ، برای بیشتر اهداف تا کنون ، یک رشته تصادفی کافی خواهد بود. این تصادفی خوب را ارائه می دهد که برای اکثر برنامه ها مناسب است و بسیار سریعتر از Crypto تصادفی است که واقعاً باید فقط برای اهداف رمزنگاری استفاده شود. Crowd Crypto فقط بند “طول” دارد و همیشه مقادیر باینری را تولید می کند ، همانطور که معمولاً در مورد رمزنگاری وجود دارد.