Skip to content
Random Number Generator
Tools

Random Number Generator

নতুন

Generate one or thousands of random numbers in any range — no duplicates option, crypto-secure, instant copy.

Runs entirely in your browser. Nothing is uploaded.

র‍্যান্ডম নম্বর জেনারেটর — যেকোনো রেঞ্জ, যেকোনো পরিমাণ, কোনো সীমা নেই

এই ফ্রি র‍্যান্ডম নম্বর জেনারেটর তাৎক্ষণিকভাবে এক বা হাজার হাজার র‍্যান্ডম পূর্ণসংখ্যা তৈরি করে। আপনার Min ও Max সেট করুন, কতগুলো সংখ্যা দরকার তা বেছে নিন, প্রয়োজনে ডুপ্লিকেট বাদ দিন, আর Generate-এ ক্লিক করুন। ফলাফল এক মিলিসেকেন্ডের কম সময়ে দেখা যায় এবং এক ক্লিকেই ক্লিপবোর্ডে কপি করা যায়। কিছুই আপলোড হয় না — টুলটি সম্পূর্ণরূপে আপনার ব্রাউজারে Web Crypto API ব্যবহার করে চলে, তাই আপনার ইনপুট ও ফলাফল পুরোপুরি ব্যক্তিগত থাকে।

একটি সাধারণ ডাইস রোলারের বিপরীতে, এই RNG যেকোনো সংখ্যাগত রেঞ্জ সামলায়: ১ ও ১,০০০,০০০-এর মধ্যে একটি র‍্যান্ডম সংখ্যা বেছে নেওয়া ১ থেকে ৬-এর মতোই সহজ। ৫০০টি ইউনিক লটারি প্রার্থী তৈরি করুন, পরিসংখ্যান ক্লাসের জন্য র‍্যান্ডম স্যাম্পলিং সিমুলেট করুন, বা একটি কনটেস্টের বিজয়ী বাছুন — সবই কোনো অ্যাকাউন্ট তৈরি বা কিছু ইনস্টল না করেই। সাইনআপ নেই, কোনো সীমা নেই, আর পেজ লোড হয়ে গেলে এটি অফলাইনেও কাজ করে।

র‍্যান্ডম নম্বর জেনারেটর যেভাবে ব্যবহার করবেন

ধাপ ১: একটি Min মান লিখুন (ডিফল্ট ১) এবং একটি Max মান লিখুন (ডিফল্ট ১০০)। উভয়ই ঋণাত্মক বা খুব বড় পূর্ণসংখ্যা হতে পারে। ধাপ ২: Quantity সেট করুন — একবারে কতগুলো সংখ্যা তৈরি হবে। ডিফল্ট হলো ১; সর্বোচ্চ ১০,০০০। ধাপ ৩: রেঞ্জের মধ্যে প্রতিটি ফলাফল ইউনিক হওয়া দরকার হলে 'No duplicates' চালু করুন। ধাপ ৪: Generate-এ ক্লিক করুন। ফলাফল সঙ্গে সঙ্গে আউটপুট বক্সে দেখা যায়। ধাপ ৫: ফলাফল ছোট থেকে বড় ক্রমে সাজাতে Sort ব্যবহার করুন, অথবা পুরো তালিকা ক্লিপবোর্ডে পাঠাতে Copy ব্যবহার করুন।

আবার Generate-এ ক্লিক করুন বা Enter চাপুন পুনরায় রোল করার জন্য। প্রতিটি ক্লিক পরিসংখ্যানগতভাবে স্বাধীন — আগের ফলাফল নতুন ফলাফলের ওপর কোনো প্রভাব ফেলে না। ডাইস রোল, giveaway এবং এমন যেকোনো পরিস্থিতির জন্য এটিই সঠিক আচরণ, যেখানে প্রতিটি ড্র একটি নতুন র‍্যান্ডম ঘটনা হওয়া উচিত।

কেন এই টুল crypto.getRandomValues() ব্যবহার করে — Math.random() নয়

ওয়েবের বেশিরভাগ র‍্যান্ডম নম্বর টুল জাভাস্ক্রিপ্টের Math.random() ব্যবহার করে, যা একটি ছদ্ম-র‍্যান্ডম (pseudo-random) নম্বর জেনারেটর — দেখতে র‍্যান্ডম মনে হলেও এটি একটি seed মান থেকে উদ্ভূত একটি নির্ধারিত ক্রম। যথেষ্ট আউটপুট পাওয়া গেলে এই ক্রম অনুমান করা যায়। এই টুল তার বদলে crypto.getRandomValues() ব্যবহার করে, যা TLS হ্যান্ডশেক, পাসওয়ার্ড ম্যানেজার এবং নিরাপদ টোকেন তৈরিতে ব্যবহৃত একই ক্রিপ্টোগ্রাফিক এনট্রপি উৎস। এটি অপারেটিং সিস্টেমের এনট্রপি পুল থেকে সংখ্যা টানে, যাতে বেশিরভাগ আধুনিক ডিভাইসে হার্ডওয়্যার নয়েজ উৎসও অন্তর্ভুক্ত থাকে।

প্রতিযোগীদের তুলনা: গুগলের বিল্ট-ইন নম্বর পিকার সর্বোচ্চ ১–১,০০০ রেঞ্জে সীমাবদ্ধ এবং একবারে একটি সংখ্যা তৈরি করে। Random.org একটি রিমোট সার্ভার থেকে বায়ুমণ্ডলীয় নয়েজ ব্যবহার করে — সত্যিকারের র‍্যান্ডম ইনপুট, কিন্তু এটি সার্ভার কল করে এবং প্রতিটি অনুরোধ লগ করে। Calculator.net-এর র‍্যান্ডম নম্বর জেনারেটরের একটি সাধারণ ইন্টারফেস আছে, বাল্ক জেনারেশন বা no-duplicates অপশন ছাড়াই। UtiloKit প্রতি ক্লিকে ১০,০০০ পর্যন্ত সংখ্যা তৈরি করে, সম্পূর্ণ অফলাইনে কাজ করে, কোনো ব্যবহার কোটা রাখে না এবং কখনও কিছু লগ করে না।

সাধারণ ব্যবহার — giveaway, ডাইস, লটারি, পরিসংখ্যান

Giveaway ও কনটেস্ট: প্রতিটি অংশগ্রহণকারীকে একটি ক্রমিক সংখ্যা দিন, Max-কে মোট এন্ট্রির সংখ্যায় সেট করুন, একটি সংখ্যা তৈরি করুন, আর আপনি পেয়ে গেলেন একজন যাচাইযোগ্যভাবে ন্যায্য বিজয়ী। লটারি পিক: 'No duplicates' চালু করুন, লটারির রেঞ্জের সাথে মিলিয়ে আপনার Min/Max সেট করুন (বেশিরভাগ 6/49 গেমের জন্য ১–৪৯), আর Quantity-কে প্রয়োজনীয় পিকের সংখ্যায় সেট করুন। ডাইস সিমুলেশন: d6-এর জন্য Min ১, Max ৬; পলিহেড্রাল ডাইসের (d4, d8, d10, d12, d20, d100) জন্য যেকোনো রেঞ্জ। Quantity সেট করে একবারে একাধিক ডাইস রোল করুন। পরিসংখ্যান ও গবেষণা: র‍্যান্ডম স্যাম্পলিং, Monte Carlo সিমুলেশন, বা এমন র‍্যান্ডমাইজড এক্সপেরিমেন্ট অ্যাসাইনমেন্টের জন্য বড় তালিকা তৈরি করুন যেখানে হাতে বাছাই করলে পক্ষপাত ঢুকে পড়ত।

প্রাইভেসি, অফলাইন ব্যবহার এবং কোনো সীমা নেই

এই র‍্যান্ডম নম্বর জেনারেটর সম্পূর্ণরূপে ক্লায়েন্ট-সাইড — কোনো সার্ভার কখনও আপনার ইনপুট বা ফলাফল পায় না। কোনো অ্যাকাউন্ট নেই, টুলটির সাথে যুক্ত কোনো কুকি ট্র্যাকিং নেই, এবং কোনো ব্যবহার সীমা নেই। পেজ লোড হয়ে গেলে এটি অফলাইনে কাজ করে। মোবাইলে (iPhone Safari, Android Chrome) এটি ডেস্কটপের মতোই আচরণ করে — রেসপনসিভ লেআউট, টাচ-বান্ধব ইনপুট এবং দ্রুত ক্লিপবোর্ড কপি।

র‍্যান্ডমাইজড ক্লিনিক্যাল ট্রায়াল অ্যাসাইনমেন্ট বা ব্লাইন্ড A/B টেস্ট বরাদ্দের মতো সংবেদনশীল প্রয়োগের জন্য, অফলাইন ও শূন্য-লগিং প্রকৃতির মানে হলো কোনো তৃতীয় পক্ষের কাছে ডেটা প্রকাশ পায় না। এই পেজটি বুকমার্ক করুন এবং যখনই একটি দ্রুত, নির্ভরযোগ্য RNG online দরকার হয় তখনই ব্যবহার করুন। Random.org-এর দৈনিক কোটা আছে এবং তা সার্ভার অনুরোধ লগ করে। গুগলের টুল ১–১,০০০-এ সীমাবদ্ধ। এই টুলের কোনো সীমা নেই এবং কোনো ডেটা রিটেনশন নেই — কিছুই কখনও কোথাও পাঠানো হয় না।

ট্রু র‍্যান্ডম বনাম ছদ্ম-র‍্যান্ডম বনাম ক্রিপ্টোগ্রাফিকভাবে নিরাপদ

র‍্যান্ডম নম্বর তৈরির তিনটি স্বতন্ত্র শ্রেণি আছে, আর এগুলোকে গুলিয়ে ফেলা বাস্তব জগতে নিরাপত্তা ব্যর্থতার কারণ হয়েছে। ছদ্ম-র‍্যান্ডম নম্বর জেনারেটর (PRNG) হলো নির্ধারিত অ্যালগরিদম যা একটি seed মান থেকে শুরু করে এমন একটি ক্রম তৈরি করে যা দেখতে র‍্যান্ডম কিন্তু পুরোপুরি পুনরুৎপাদনযোগ্য। সবচেয়ে বহুল-ব্যবহৃত PRNG হলো Mersenne Twister (MT19937), যার পিরিয়ড 219937−1 — পুনরাবৃত্তির আগে একটি জ্যোতির্বৈজ্ঞানিকভাবে দীর্ঘ ক্রম। MT19937 হলো Python, Ruby, PHP এবং অনেক গেম ইঞ্জিনের ডিফল্ট RNG, যা একে সিমুলেশন ও প্রসিডিউরাল জেনারেশনের জন্য চমৎকার করে তোলে। তবে state পুরোপুরি seed দ্বারা নির্ধারিত হওয়ায়, যথেষ্ট আউটপুট পর্যবেক্ষণকারী একজন আক্রমণকারী সম্পূর্ণ অভ্যন্তরীণ state পুনর্গঠন করে ভবিষ্যতের প্রতিটি মান অনুমান করতে পারে।

ট্রু র‍্যান্ডম নম্বর জেনারেটর (TRNG) প্রকৃতপক্ষে অননুমেয় ভৌত প্রক্রিয়া থেকে এনট্রপি নেয়: তেজস্ক্রিয় ক্ষয়, ইলেকট্রনিক সার্কিটে তাপীয় নয়েজ, বায়ুমণ্ডলীয় নয়েজ। Random.org একটি সুপরিচিত TRNG সেবা যা রেডিও রিসিভারের মাধ্যমে বায়ুমণ্ডলীয় নয়েজ নমুনা নেয়। TRNG গুলো PRNG-এর চেয়ে ধীর এবং বিশেষ হার্ডওয়্যার বা নেটওয়ার্ক অ্যাক্সেস প্রয়োজন, কিন্তু এদের আউটপুট অনুমান করা যায় না কারণ অন্তর্নিহিত পদার্থবিদ্যা অ-নির্ধারিত। ক্রিপ্টোগ্রাফিকভাবে নিরাপদ PRNG (CSPRNG) এই দুইয়ের মাঝামাঝি অবস্থান নেয়: এরা একটি প্রকৃত এনট্রপি উৎস (হার্ডওয়্যার নয়েজ, OS এনট্রপি পুল) থেকে seed নেয় এবং তারপর একটি ক্রিপ্টোগ্রাফিক প্রিমিটিভ — যেমন ChaCha20 বা Fortuna কনস্ট্রাকশন — ব্যবহার করে সেই এনট্রপিকে একটি দ্রুত, অননুমেয় স্ট্রিমে প্রসারিত করে। ব্রাউজারের crypto.getRandomValues() API এবং Linux কার্নেলের /dev/urandom ডিভাইস দুটোই CSPRNG। প্রায় প্রতিটি বাস্তব প্রয়োগের জন্য — পাসওয়ার্ড, টোকেন, giveaway, সিমুলেশন — একটি CSPRNG নিরাপত্তা ও গতি একসাথে দেয়, ফলে একটি ডেডিকেটেড হার্ডওয়্যার TRNG অপ্রয়োজনীয় হয়ে যায়।

কোন শ্রেণিটি বেছে নেবেন তা ঝুঁকির ওপর নির্ভর করে। সিমুলেশন, গেম এবং পরিসংখ্যান দিনের সময় থেকে seed নেওয়া একটি PRNG দিয়েই ভালো চলে। Giveaway ও স্যাম্পলিং একটি CSPRNG থেকে উপকৃত হয়, কারণ অংশগ্রহণকারীদের seed প্রভাবিত করার সুযোগ থাকা উচিত নয়। ক্রিপ্টোগ্রাফিক কী জেনারেশন এবং আইনগতভাবে বাধ্যতামূলক লটারি ড্র-এর জন্য হয় একটি CSPRNG নয়তো একটি TRNG প্রয়োজন, আর seed নিজেই গোপন রাখতে হবে বা একটি প্রকাশ্যে যাচাইযোগ্য অনুষ্ঠানে তৈরি করতে হবে।

কেন Math.random() নিরাপত্তার জন্য অনুপযুক্ত — এবং তার বদলে কী ব্যবহার করবেন

জাভাস্ক্রিপ্টের Math.random() বিভিন্ন ইঞ্জিনে ভিন্নভাবে বাস্তবায়িত হয়, তবে দুটি সবচেয়ে সাধারণ অ্যালগরিদম হলো xorshift128+ (V8, Chrome ও Node.js-এর ইঞ্জিন) এবং পুরোনো রানটাইমে একটি Lehmer লিনিয়ার কনগ্রুয়েনশিয়াল জেনারেটর (LCG)। উভয়ই নির্ধারিত: একই seed দিলে প্রতিবার হুবহু একই ক্রম তৈরি করে। অভ্যন্তরীণ state-এর সসীম সংখ্যক বিট থাকায় (xorshift128+-এর জন্য ১২৮ বিট), এবং যথেষ্ট আউটপুট পর্যবেক্ষণকারী একজন আক্রমণকারী পরিসংখ্যানগতভাবে state পুনর্গঠন করতে পারায়, Math.random() আনুষ্ঠানিকভাবে একটি নন-ক্রিপ্টোগ্রাফিক PRNG হিসেবে শ্রেণিবদ্ধ। V8 টিম স্পষ্টভাবে নথিভুক্ত করেছে যে এটি নিরাপত্তা-সংবেদনশীল উদ্দেশ্যের জন্য উপযুক্ত নয়।

এর বাস্তব প্রভাব তাৎপর্যপূর্ণ। আপনি যদি একটি পাসওয়ার্ড রিসেট টোকেন তৈরি করতে Math.random() ব্যবহার করেন এবং একজন আক্রমণকারী একই সময়ে আপনার সার্ভারের ইস্যু করা অন্য কয়েকটি টোকেন পর্যবেক্ষণ করতে পারে (হয়তো একটি পাবলিক সাইনআপ ফর্মের মাধ্যমে), তবে সে অভ্যন্তরীণ state পুনরুদ্ধার করে আপনার টোকেন অনুমান করতে পারে — একটি বাস্তব আক্রমণ শ্রেণি। একই কথা প্রযোজ্য সেশন আইডেন্টিফায়ার, CSRF টোকেন, ন্যায্যতা আইনত প্রয়োজন এমন লটারি-ধাঁচের ড্র, এবং এমন যেকোনো মানের জন্য যেখানে অনুমেয়তা একটি দুর্বলতা। এসবের জন্য সঠিক জাভাস্ক্রিপ্ট API হলো crypto.getRandomValues(), যা W3C Web Cryptography API স্ট্যান্ডার্ড দ্বারা নির্দিষ্ট এবং প্রতিটি আধুনিক ব্রাউজারে ও Node.js-এ require('crypto').randomBytes() হিসেবে উপলব্ধ। এই টুল তার তৈরি করা প্রতিটি সংখ্যার জন্য crypto.getRandomValues() ব্যবহার করে, যা একে giveaway, র‍্যাফল ড্র এবং ফলাফল সত্যিকারভাবে অননুমেয় হতে হবে এমন যেকোনো পরিস্থিতির জন্য নিরাপদ করে তোলে।

একটি সাধারণ ভুল ধারণা হলো Math.random()-এর ওপর জটিলতা যোগ করলে — এর আউটপুট হ্যাশ করা, একাধিক কল একত্র করা, একটি টাইমস্ট্যাম্পের সাথে XOR করা — ফলাফলটি নিরাপদ হয়ে যায়। তা হয় না। একটি PRNG-এর দুর্বলতা তার অভ্যন্তরীণ state-এ, আউটপুট ফরম্যাটে নয়। কেবল প্রকৃত হার্ডওয়্যার এনট্রপি থেকে seed নেওয়া (যেমনটা crypto.getRandomValues() করে) সেই দুর্বলতা বন্ধ করে।

জন্মদিনের প্যারাডক্স এবং কেন সংঘর্ষের সম্ভাবনা গুরুত্বপূর্ণ

জন্মদিনের প্যারাডক্স সম্ভাব্যতার সবচেয়ে স্বজ্ঞাবিরোধী ফলাফলগুলোর একটি। মাত্র ২৩ জন মানুষের একটি ঘরে, অন্তত দুজনের একই জন্মদিন থাকার সম্ভাবনা ৫০%-এর বেশি — যদিও সম্ভাব্য জন্মদিন ৩৬৫টি। কারণ হলো, সংঘর্ষের সম্ভাবনা মানুষের সংখ্যার সাথে নয়, বরং জোড়ার সংখ্যার সাথে বাড়ে: ২৩ জন মানুষ ২৫৩টি জোড়া তৈরি করে, আর প্রতিটি জোড়ার মিল হওয়ার সম্ভাবনা ৩৬৫-এ ১। এই গণিত যেকোনো র‍্যান্ডম-ড্র সমস্যায় প্রযোজ্য: আপনি যদি N আকারের একটি স্থান থেকে অভিন্নভাবে nটি মান টানেন, তবে n যখন √N-এর কাছাকাছি হয় তখন প্রত্যাশিত সংঘর্ষের সংখ্যা তাৎপর্যপূর্ণ হয়ে ওঠে।

বাস্তবে র‍্যান্ডম সংখ্যা কীভাবে ব্যবহৃত হয় তার ওপর এর সরাসরি প্রভাব আছে। একটি ৪-অঙ্কের PIN-এর ১০,০০০টি সম্ভাব্য মানের একটি স্থান থাকে, তাই মোটামুটি √১০,০০০ = ১০০টি PIN ইস্যু হওয়ার পর সংঘর্ষ সম্ভাব্য হয়ে যায় — মানে র‍্যান্ডমভাবে বরাদ্দ করা PIN সহ ১০০ ব্যবহারকারীর একটি ডেটাবেসে, ইতিমধ্যেই দুজন ব্যবহারকারীর একই PIN থাকার সম্ভাবনা প্রায় ৫০%। এই কারণেই আধুনিক সিস্টেম ১২৮ বিট বা তার বেশি টোকেন ব্যবহার করে। UUID version 4 ১২২ বিট র‍্যান্ডমনেস ব্যবহার করে, যা স্থানটিকে 2122 ≈ 5.3 × 1036 করে তোলে; সংঘর্ষের সম্ভাবনা ৫০%-এ পৌঁছানোর আগে আপনাকে প্রায় 2.7 × 1018টি UUID তৈরি করতে হবে — বাস্তবিকভাবে অসম্ভব একটি পরিমাণ। যখন আপনি এমন কোনো উদ্দেশ্যে র‍্যান্ডম সংখ্যা তৈরি করেন যেখানে অনন্যতা গুরুত্বপূর্ণ — র‍্যাফল টিকিট, সেশন টোকেন, ডেটাবেস আইডি — তখন যথেষ্ট বড় একটি রেঞ্জ বেছে নেওয়া ঐচ্ছিক নয়; এটি জন্মদিনের প্যারাডক্সের একটি সরাসরি ফলাফল।

Giveaway-এর জন্য জন্মদিনের প্যারাডক্স কম উদ্বেগের বিষয়, কারণ আপনি প্রতি অংশগ্রহণকারীকে একটি সংখ্যা বরাদ্দ করছেন এবং স্পষ্টভাবে অনন্যতা যাচাই করছেন (যা 'No duplicates' মোড স্বয়ংক্রিয়ভাবে করে)। এটি সবচেয়ে বেশি সমস্যা তৈরি করে অসমন্বিত ডিস্ট্রিবিউটেড সিস্টেমে — একাধিক সার্ভার কোনো শেয়ার্ড state ছাড়াই আইডি তৈরি করছে — অথবা এমন স্বল্পস্থায়ী টোকেনে যা কখনও একটি রেজিস্ট্রির সাথে যাচাই করা হয় না। উভয় ক্ষেত্রেই সমাধান একই: এমন একটি রেঞ্জ ব্যবহার করুন যা যথেষ্ট বড় যাতে √N সংখ্যক ড্রও এমন একটি পরিমাণ হয় যেখানে কোনো বাস্তবসম্মত কাজ পৌঁছাবে না।

বাস্তব প্রয়োগ: Monte Carlo, A/B টেস্টিং, প্রসিডিউরাল জেনারেশন

র‍্যান্ডম নম্বর জেনারেটর আধুনিক বিজ্ঞান ও প্রকৌশলের কিছু গণনাগতভাবে সবচেয়ে গুরুত্বপূর্ণ পদ্ধতির ভিত্তি গঠন করে। Monte Carlo সিমুলেশন বিশ্লেষণাত্মকভাবে গণনা করা কঠিন এমন মান আনুমানিক নির্ণয়ে র‍্যান্ডম স্যাম্পলিং ব্যবহার করে। একটি ক্লাসিক উদাহরণ: একক বর্গক্ষেত্রে অভিন্নভাবে বিতরণ করা বিপুল সংখ্যক র‍্যান্ডম (x, y) বিন্দু তৈরি করুন। মূলবিন্দুতে কেন্দ্রীভূত ১ ব্যাসার্ধের কোয়ার্টার-বৃত্তের ভেতরে কতগুলো পড়ে তা গণনা করুন (x² + y² ≤ 1 সন্তুষ্ট করে)। ভেতরের বিন্দু ও মোট বিন্দুর অনুপাত π/4-এ অভিসৃত হয়। ১ কোটি নমুনায় এই পদ্ধতি π-কে কয়েক দশমিক স্থান পর্যন্ত আনুমানিক নির্ণয় করে — কোনো ক্যালকুলাস ছাড়াই। একই নীতি ফাইন্যান্সে ঝুঁকি মডেলিং, পারমাণবিক প্রকৌশলে বিকিরণ পরিবহন গণনা এবং ওষুধ আবিষ্কারে প্রোটিন-ফোল্ডিং সিমুলেশন চালায়।

র‍্যান্ডমাইজড অ্যালগরিদম তাদের নির্ধারিত প্রতিরূপের চেয়ে ভালো গড়-ক্ষেত্রের কর্মক্ষমতা অর্জনে র‍্যান্ডম পছন্দ ব্যবহার করে। প্রামাণিক উদাহরণ হলো র‍্যান্ডমাইজড QuickSort: সবসময় প্রথম বা শেষ উপাদান বাছার বদলে pivot উপাদানটি র‍্যান্ডমভাবে বাছলে একজন প্রতিপক্ষের পক্ষে সবচেয়ে খারাপ ক্ষেত্রের O(n²) আচরণ বাধ্য করে এমন ইনপুট তৈরি করা পরিসংখ্যানগতভাবে অসম্ভব হয়ে যায়। Python ও Rust-এর মতো ভাষায় হ্যাশ টেবিল hash-flooding ডিনায়াল-অফ-সার্ভিস আক্রমণ প্রতিরোধে একটি র‍্যান্ডম seed (প্রতি প্রসেস শুরুতে বাছা) ব্যবহার করে। A/B টেস্টিং-এ র‍্যান্ডম বরাদ্দ নিশ্চিত করে যে treatment ও control গ্রুপ সব confounding চলকের ওপর পরিসংখ্যানগতভাবে সমতুল্য — বরাদ্দ অনুমেয় হলে ব্যবহারকারী বা প্রকৌশলীরা তা কারচুপি করতে পারত। ভিডিও গেমে প্রসিডিউরাল জেনারেশন seed করা PRNG ব্যবহার করে যাতে একটি সম্পূর্ণ গেম জগৎ — ভূখণ্ডের হাইটম্যাপ, শত্রুর loot টেবিল, NPC সংলাপ — একটি একক seed সংখ্যা থেকে নির্ধারিতভাবে পুনরুৎপাদন করা যায়, ফলে সেভ ফাইল ছোট থাকে অথচ গিগাবাইট কন্টেন্ট তৈরি হয়।

বড় ঝুঁকির ড্র-এর জন্য — পাবলিক লটারি, আইনি তদারকিসহ পুরস্কার র‍্যাফল, র‍্যান্ডমাইজড ক্লিনিক্যাল ট্রায়াল — র‍্যান্ডম প্রক্রিয়ার যাচাইযোগ্যতা এর অননুমেয়তার মতোই গুরুত্বপূর্ণ। ন্যায্যতা প্রমাণে ক্রিপ্টোগ্রাফিক কমিটমেন্ট স্কিম ব্যবহৃত হয়: একটি ড্র-এর আগে আয়োজক seed-এর একটি ক্রিপ্টোগ্রাফিক হ্যাশ প্রকাশ করে; ড্র-এর পরে তারা seed প্রকাশ করে। যে কেউ যাচাই করতে পারে যে প্রকাশিত হ্যাশটি বিজয়ী সংখ্যা তৈরিকারী seed-এর সাথে মেলে, যা প্রমাণ করে এন্ট্রি দেখার পর seed বাছা হয়নি। commit-reveal স্কিম নামে পরিচিত এই প্যাটার্নটি ব্লকচেইন লটারি, সরকারি প্রাইজ বন্ড এবং স্পোর্টস ড্রাফট লটারির প্রমিত পন্থা। আপনি যখন এই টুল একটি giveaway-এর জন্য ব্যবহার করেন, তখন এই নীতিটি ম্যানুয়ালি অনুকরণ করতে পারেন: সংখ্যা তৈরি করুন, ঘোষণার আগে ফলাফলের একটি স্ক্রিনশট নিন, তারপর ফলাফলের সাথে স্ক্রিনশটটি শেয়ার করুন যাতে প্রমাণ হয় এন্ট্রি গণনার পর কিছু পরিবর্তন করা হয়নি।

Frequently asked questions

১ ও ১০০-এর মধ্যে একটি র‍্যান্ডম সংখ্যা কীভাবে তৈরি করব?

Min-কে ১ এবং Max-কে ১০০ সেট করুন, Quantity ১-এ রাখুন, আর Generate-এ ক্লিক করুন। টুলটি ব্রাউজারের <code>crypto.getRandomValues()</code> API ব্যবহার করে — পাসওয়ার্ড ম্যানেজার ও TLS এনক্রিপশনে ব্যবহৃত একই ক্রিপ্টোগ্রাফিক এনট্রপি উৎস — দুর্বল <code>Math.random()</code> ফাংশনের বদলে। ফলাফল কখনও সার্ভারে পাঠানো হয় না; সবকিছু আপনার ব্রাউজারে চলে। কোনো সীমা বা কুলডাউন ছাড়াই যতবার খুশি Generate-এ ক্লিক করুন। প্রথম ফলাফলের পর পুনরায় রোল করতে Enter-ও চাপতে পারেন।

আমি কি একবারে একাধিক র‍্যান্ডম সংখ্যা তৈরি করতে পারি?

হ্যাঁ। Quantity ফিল্ডটি ১০,০০০ পর্যন্ত যেকোনো সংখ্যায় সেট করুন এবং একবার Generate-এ ক্লিক করে তাৎক্ষণিকভাবে পুরো তালিকা পান। 'No duplicates' চালু করুন, তাহলে আউটপুটের প্রতিটি সংখ্যা অনন্য হওয়ার নিশ্চয়তা থাকে — টুলটি রেঞ্জের ওপর একটি Fisher-Yates শাফল ব্যবহার করে, তাই কোনো মান দুবার আসে না। এই অপশন ছাড়া সংখ্যা পুনরাবৃত্ত হতে পারে, যা ডাইস রোল বা সম্ভাব্যতা পরীক্ষার সঠিক আচরণ, যেখানে প্রতিটি ঘটনা পরিসংখ্যানগতভাবে স্বাধীন। পরিমাণ যাই হোক, সব সংখ্যা এক মিলিসেকেন্ডের অনেক কম সময়ে তৈরি হয়।

এটি ও গুগলের র‍্যান্ডম নম্বর জেনারেটরের মধ্যে পার্থক্য কী?

গুগলের বিল্ট-ইন টুল ১–১,০০০ রেঞ্জে সীমাবদ্ধ এবং একবারে শুধু একটি সংখ্যা তৈরি করে। UtiloKit-এর রেঞ্জে কোনো ঊর্ধ্বসীমা নেই (JavaScript-এর Number.MAX_SAFE_INTEGER পর্যন্ত যেকোনো পূর্ণসংখ্যা), এক ক্লিকে ১০,০০০ পর্যন্ত সংখ্যা তৈরি করতে দেয়, 'no duplicates' মোড অন্তর্ভুক্ত করে, এবং এক ক্লিকে ফলাফল সাজানো বা কপি করতে দেয়। এটি সম্পূর্ণ অফলাইনেও কাজ করে — গুগল আপনার সার্চ কোয়েরি তার সার্ভারে লগ করে, অথচ এই টুল সবকিছু ক্লায়েন্ট-সাইডে প্রক্রিয়া করে, কোথাও কিছু পাঠায় না। বাল্ক জেনারেশন বা বড় রেঞ্জের জন্য পার্থক্যটি উল্লেখযোগ্য।

এই র‍্যান্ডম নম্বর জেনারেটর কি সত্যিই র‍্যান্ডম?

এটি <code>crypto.getRandomValues()</code> ব্যবহার করে, যা অপারেটিং সিস্টেমের র‍্যান্ডমনেস পুল থেকে এনট্রপি নেয় — বেশিরভাগ আধুনিক ডিভাইসে হার্ডওয়্যার নয়েজ উৎসসহ। এটি <code>Math.random()</code>-এর চেয়ে অনেক বেশি অননুমেয়, যা একটি ছদ্ম-র‍্যান্ডম অ্যালগরিদম যা এমন একটি নির্ধারিত ক্রম তৈরি করে যা seed জানা থাকলে তাত্ত্বিকভাবে অনুমান করা যায়। বাস্তব উদ্দেশ্যে — গেম, giveaway, পরিসংখ্যান অ্যাসাইনমেন্ট, র‍্যান্ডম স্যাম্পলিং — এই টুলের আউটপুট সত্যিকারের র‍্যান্ডমনেস থেকে অভিন্ন। চরম নিরাপত্তা প্রয়োগের (যেমন ক্রিপ্টোগ্রাফিক কী তৈরি) জন্য হার্ডওয়্যার র‍্যান্ডম নম্বর জেনারেটর আছে, কিন্তু দৈনন্দিন যেকোনো ব্যবহারের জন্য crypto.getRandomValues() যথেষ্টের বেশি।

আমি কি এটি দিয়ে র‍্যান্ডম লটারি নম্বর বাছতে পারি?

হ্যাঁ। Canada Lotto 6/49-এর মতো একটি স্ট্যান্ডার্ড 6/49 লটারির জন্য Min ১, Max ৪৯, Quantity ৬ সেট করুন এবং 'No duplicates' চালু করুন। Generate-এ ক্লিক করুন, আর আপনার ছয়টি অনন্য পিক তৈরি। Powerball-এর জন্য (১–৬৯ থেকে ৫টি সংখ্যা এবং ১–২৬ থেকে একটি আলাদা Powerball), দুটি আলাদা জেনারেশন চালান: প্রথমে ১–৬৯ রেঞ্জে no duplicates সহ ৫টি সংখ্যা, তারপর ১–২৬ রেঞ্জে ১টি সংখ্যা। Mega Millions-এর জন্য (১–৭০ থেকে ৫ + ১–২৫ থেকে ১ Mega Ball), একই বিভক্ত পন্থা ব্যবহার করুন। টুলটি যেকোনো লটারি ফরম্যাট সামলায় — শুধু গেমের নিয়মের সাথে আপনার রেঞ্জ মেলান।

এই টুল দিয়ে কীভাবে একটি ডাইস রোল সিমুলেট করব?

একটি স্ট্যান্ডার্ড ছয়-পার্শ্বযুক্ত ডাইসের জন্য Min ১, Max ৬, Quantity ১ সেট করুন এবং Generate-এ ক্লিক করুন। ১০-পার্শ্বযুক্ত ডাইসের (d10) জন্য Max ১০ ব্যবহার করুন। একটি d20-এর জন্য (D&D-এর মতো টেবিলটপ RPG-তে সাধারণ) Max ২০ ব্যবহার করুন। Quantity বাড়িয়ে একবারে একাধিক ডাইস রোল করুন — Max ৬ সহ Quantity ৪ একসাথে চারটি d6 রোল সিমুলেট করে। ডিফল্টভাবে পুনরাবৃত্তি অনুমোদিত, যা ডাইসের জন্য পরিসংখ্যানগতভাবে সঠিক (প্রতিটি রোল স্বাধীন)। এর বদলে অনন্য মান দরকার হলে — যেমন একটি তাসের ডেক থেকে টানা — 'No duplicates' চালু করুন।

আমি কি পুনরাবৃত্তি ছাড়া র‍্যান্ডম সংখ্যার একটি তালিকা তৈরি করতে পারি?

হ্যাঁ। তৈরি করার আগে 'No duplicates' টগল চালু করুন। টুলটি নির্দিষ্ট রেঞ্জ থেকে replacement ছাড়া সংখ্যা টানে, তাই আউটপুটের প্রতিটি সংখ্যা অনন্য। মনে রাখবেন Quantity অবশ্যই (Max − Min + 1)-এর সমান বা কম হতে হবে: রেঞ্জে যত অনন্য মান আছে তার বেশি টানা যায় না। বেশি চাইলে টুলটি সতর্ক করে এবং আউটপুট সীমিত করে দেয়। এই মোডটি র‍্যান্ডমাইজড সার্ভে প্রশ্নের ক্রম তৈরি, লটারি পিক, টিম অ্যাসাইনমেন্টের seeding, কনটেস্ট বিজয়ী নির্বাচন, বা replacement ছাড়া পরিসংখ্যান বিশ্লেষণের জন্য শাফল করা ডেটাসেট তৈরিতে কাজে লাগে।

এটি কি মোবাইলে কাজ করে — iPhone ও Android?

হ্যাঁ — iPhone-এ Safari, Android-এ Chrome ও Samsung Internet, এবং Firefox Mobile-এ সম্পূর্ণ রেসপনসিভ। কোনো অ্যাপ ডাউনলোডের দরকার নেই; এটি সরাসরি আপনার ব্রাউজারে চলে। নম্বর ইনপুট মোবাইলে স্বয়ংক্রিয়ভাবে সংখ্যাসূচক কিবোর্ড আনে। Generate বাটন ও Copy ফাংশন দুটোই টাচস্ক্রিনে নির্ভরযোগ্যভাবে কাজ করে। ধীর সংযোগেও পেজ দ্রুত লোড হয়, এবং সব জেনারেশন ক্লায়েন্ট-সাইড, কোনো সার্ভার রাউন্ড-ট্রিপ ছাড়াই। এটি পোর্ট্রেট ও ল্যান্ডস্কেপ উভয় অভিমুখে একইভাবে কাজ করে এবং পেজ লোড হয়ে গেলে ইন্টারনেট সংযোগ ছাড়াই চলে।

এটি Random.org থেকে কীভাবে আলাদা?

Random.org একটি রিমোট সার্ভার থেকে আনা বায়ুমণ্ডলীয় নয়েজ ব্যবহার করে সংখ্যা তৈরি করে, মানে প্রতিটি অনুরোধে একটি নেটওয়ার্ক রাউন্ড-ট্রিপ এবং আপনার IP ঠিকানা ও প্যারামিটারের সার্ভার-সাইড লগিং জড়িত থাকে। UtiloKit Web Crypto API ব্যবহার করে ১০০% আপনার ব্রাউজারে চলে — শূন্য সার্ভার কল, কোনো লগ নেই, আপনার ইনপুটে কোনো তৃতীয় পক্ষের দৃশ্যমানতা নেই। giveaway, গেম ও সাধারণ ব্যবহারের জন্য মান সমতুল্য: উভয়ই অননুমেয় ফলাফল দেয়। অফলাইন প্রকৃতিই মূল বাস্তব পার্থক্য। Random.org ফ্রি ব্যবহারকারীদের জন্য দৈনিক কোটাও আরোপ করে; UtiloKit-এ আপনি কতগুলো সংখ্যা বা কতবার তৈরি করেন তার ওপর কোনো সীমা নেই।

আমি কি তৈরি করা সংখ্যাগুলো কপি বা ডাউনলোড করতে পারি?

হ্যাঁ। তৈরি করার পর একটি Copy বাটন পুরো তালিকাটি newline দিয়ে আলাদা করা পূর্ণসংখ্যা হিসেবে আপনার ক্লিপবোর্ডে রাখে, যা সরাসরি Excel, Google Sheets, Notion, একটি কোড এডিটর, বা যেকোনো টেক্সট ফিল্ডে পেস্ট করার জন্য প্রস্তুত। একটি Sort টগল কপি করার আগে ফলাফল ছোট থেকে বড় ক্রমে সাজায়, যা লটারি পিক, সাজানো ডেটাসেট তৈরি, বা যেখানে সাজানো অনন্য সংখ্যা নিয়ে কাজ করা সহজ সেখানে কাজে লাগে। আউটপুট টুলের মধ্যেও ইনলাইনে দেখা যায় — একক সংখ্যা বা ছোট তালিকার জন্য প্রায়ই কপি করার দরকারই হয় না। বাল্ক আউটপুটের (শত বা হাজার সংখ্যা) জন্য ক্লিপবোর্ড কপিই ফলাফল অন্য অ্যাপ্লিকেশনে নেওয়ার দ্রুততম উপায়।

আমি সর্বোচ্চ কত রেঞ্জ ব্যবহার করতে পারি?

টুলটি JavaScript-এর নিরাপদ পূর্ণসংখ্যা রেঞ্জ সমর্থন করে: −৯,০০৭,১৯৯,২৫৪,৭৪০,৯৯১ থেকে +৯,০০৭,১৯৯,২৫৪,৭৪০,৯৯১ (Number.MAX_SAFE_INTEGER) পর্যন্ত। বাস্তবে যেকোনো অর্থপূর্ণ রেঞ্জ ব্যবহার করতে পারেন — একটি ডাইস রোলের জন্য ১–৬ থেকে একটি বড় ডেটাসেট থেকে স্যাম্পলিংয়ের জন্য ১–১,০০০,০০০ পর্যন্ত। খুব বড় no-duplicates অনুরোধ (উদাহরণস্বরূপ, ১–১০,০০০ রেঞ্জ থেকে ১০,০০০ অনন্য সংখ্যা) পুরোনো ডিভাইসে এক সেকেন্ড নিতে পারে কিন্তু নির্ভরযোগ্যভাবে সম্পন্ন হবে। গুগলের টুল ১,০০০-এ থেমে যায়। এই টুলের রেঞ্জের আকারে কোনো বাস্তব ঊর্ধ্বসীমা নেই।

সাইনআপ ছাড়া কি কোনো ফ্রি র‍্যান্ডম নম্বর জেনারেটর আছে?

হ্যাঁ — এটিই। কোনো অ্যাকাউন্ট নেই, ইমেল নেই, পেওয়াল নেই, এবং আপনি কতবার ব্যবহার করেন তার কোনো সীমা নেই। গুগলের বিল্ট-ইন টুল ফ্রি কিন্তু ১–১,০০০ এবং একবারে একটি সংখ্যায় সীমাবদ্ধ। Random.org একটি দৈনিক কোটা পর্যন্ত ফ্রি, তারপর একটি পেইড API প্ল্যান প্রয়োজন। Calculator.net-এ সীমিত অপশনসহ একটি সাধারণ ফ্রি জেনারেটর আছে। UtiloKit প্রতি ক্লিকে ১০,০০০ পর্যন্ত সংখ্যা তৈরি করে, no-duplicates মোড, সাজানো এবং এক-ক্লিক ক্লিপবোর্ড কপি সমর্থন করে — সবই ফ্রি, শূন্য রেজিস্ট্রেশনে।

UUID জেনারেটর

v4 ও v7 UUID একসঙ্গে তৈরি করুন, কপির জন্য প্রস্তুত।

জেনারেটর
জনপ্রিয়

পাসওয়ার্ড জেনারেটর

শক্তিশালী, কনফিগারযোগ্য পাসওয়ার্ড যা কখনো আপনার ডিভাইস ছাড়ে না।

জেনারেটর
নতুন

QR কোড জেনারেটর

লিঙ্ক, টেক্সট বা Wi-Fi-কে স্ক্যানযোগ্য QR কোডে রূপান্তর করুন।

জেনারেটর
নতুন

Lorem Ipsum জেনারেটর

অনুচ্ছেদ, বাক্য, শব্দ বা তালিকা আইটেম অনুযায়ী প্লেসহোল্ডার টেক্সট তৈরি করুন।

জেনারেটর
নতুন

ইমেইল সিগনেচার জেনারেটর

Gmail, Outlook ও Apple Mail-এর জন্য পরিচ্ছন্ন HTML ইমেইল সিগনেচার তৈরি করুন।

জেনারেটর
নতুন

ভুয়া ডেটা জেনারেটর

টেস্টিংয়ের জন্য ডামি রেকর্ড তৈরি করুন এবং JSON, CSV বা SQL হিসেবে এক্সপোর্ট করুন।

জেনারেটর