LibraTool logoLibraTool

ਮੁਫ਼ਤ ਬੇਤਰਤੀਬ ਨੰਬਰ ਜਨਰੇਟਰ

ਕਿਸੇ ਵੀ ਰੇਂਜ ਵਿੱਚ ਬੇਤਰਤੀਬ ਨੰਬਰ ਬਣਾਓ, ਵਿਲੱਖਣ ਨੰਬਰ ਸੂਚੀਆਂ ਬਣਾਓ, ਜਾਂ ਡਾਈਸ ਰੋਲ ਕਰੋ। ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕਲੀ ਸੁਰੱਖਿਅਤ ਬੇਤਰਤੀਬਤਾ ਵਰਤਦਾ ਹੈ।

ਲੋਡ ਹੋਣ ਤੋਂ ਬਾਅਦ ਔਫ਼ਲਾਈਨ ਕੰਮ ਕਰਦਾ ਹੈ

🔒 ਹਰ ਨੰਬਰ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਦੀ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਤੌਰ 'ਤੇ ਸੁਰੱਖਿਅਤ ਬੇਤਰਤੀਬਤਾ (crypto.getRandomValues) ਵਰਤਦਾ ਹੈ — ਸੱਚਮੁੱਚ ਨਿਰਪੱਖ, ਨਾ ਕਿ ਅਨੁਮਾਨ ਲਗਾਉਣ ਯੋਗ Math.random()। ਕੁਝ ਵੀ ਕਿਤੇ ਨਹੀਂ ਭੇਜਿਆ ਜਾਂਦਾ। ਫਿਰ ਵੀ, ਇਹਨਾਂ ਨੰਬਰਾਂ ਨੂੰ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਕੁੰਜੀ ਬਣਾਉਣ, ਸੁਰੱਖਿਆ ਟੋਕਨਾਂ, ਜਾਂ ਰੈਗੂਲੇਟਿਡ ਲਾਟਰੀ/ਜੂਏ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਨਾ ਵਰਤੋ, ਜਿਨ੍ਹਾਂ ਨੂੰ ਆਡਿਟ ਕੀਤੇ, ਹਾਰਡਵੇਅਰ-ਪ੍ਰਮਾਣਿਤ ਬੇਤਰਤੀਬਤਾ ਸਰੋਤਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

ਸੂਚੀ ਵਿੱਚੋਂ ਨਾਮ ਨਾਲ ਜੇਤੂ ਚੁਣਨਾ ਹੈ, ਜਾਂ ਸਿੱਕਾ ਉਛਾਲਣਾ ਹੈ? Coin Flip, Spin Wheel ਅਤੇ List Picker ਟੂਲ ਵਰਤੋ →

ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ

ਇਸ ਟੂਲ ਦਾ ਬਣਾਇਆ ਹਰ ਨੰਬਰ crypto.getRandomValues ਤੋਂ ਆਉਂਦਾ ਹੈ — ਬ੍ਰਾਊਜ਼ਰ ਦਾ cryptographically ਸੁਰੱਖਿਅਤ ਬੇਤਰਤੀਬ ਸਰੋਤ, ਉਹੀ ਜੋ TLS key ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਉੱਪਰ ਇੱਕ ਹੱਥ ਨਾਲ ਲਿਖਿਆ rejection-sampling ਐਲਗੋਰਿਦਮ ਉਸ modulo bias ਨੂੰ ਖ਼ਤਮ ਕਰਦਾ ਹੈ ਜੋ ਸਾਦੇ Math.random() % range ਲਾਗੂਕਰਨਾਂ ਨੂੰ ਪਰੇਸ਼ਾਨ ਕਰਦਾ ਹੈ, BigInt ਹਿਸਾਬ ਰਾਹੀਂ 2^32 ਤੋਂ ਚੌੜੀਆਂ ਸੀਮਾਵਾਂ ਸਮੇਤ।

  1. 1
    ਆਪਣੀ ਸੀਮਾ ਅਤੇ ਮੋਡ ਸੈੱਟ ਕਰੋ
    ਇੱਕ ਨੰਬਰ, ਥੋਕ ਸੂਚੀ (1000 ਤੱਕ), ਜਾਂ ਬਹੁ-ਪਾਸੀ ਪਾਸੇ (d4 ਤੋਂ d100) ਵਿੱਚੋਂ ਚੁਣੋ। ਸੂਚੀਆਂ ਲਈ ਤੁਸੀਂ ਵਿਲੱਖਣ ਮੁੱਲ ਵੀ ਮੰਗ ਸਕਦੇ ਹੋ ਅਤੇ ਵਿਕਲਪਿਕ ਤੌਰ 'ਤੇ ਆਉਟਪੁੱਟ ਵਧਦੇ ਕ੍ਰਮ ਵਿੱਚ ਛਾਂਟ ਸਕਦੇ ਹੋ।
  2. 2
    crypto.getRandomValues ਕੱਚੀ entropy ਲੈਂਦਾ ਹੈ
    ਹਰ ਨੰਬਰ ਬ੍ਰਾਊਜ਼ਰ ਦੇ cryptographic RNG ਨਾਲ ਭਰੇ Uint32Array (ਜਾਂ 2^32 ਤੋਂ ਚੌੜੀਆਂ ਸੀਮਾਵਾਂ ਲਈ BigUint64Array) ਤੋਂ ਲਿਆ ਜਾਂਦਾ ਹੈ — Math.random() ਤੋਂ ਨਹੀਂ। ਫਿਰ rejection sampling ਉਹ ਮੁੱਲ ਛੱਡਦੀ ਹੈ ਜੋ ਵੰਡ ਨੂੰ ਟੇਢਾ ਕਰਨ, ਇਸ ਲਈ ਤੁਹਾਡੀ ਸੀਮਾ ਦੇ ਹਰ ਪੂਰਨ ਅੰਕ ਦੀ ਸੰਭਾਵਨਾ ਬਿਲਕੁਲ ਬਰਾਬਰ ਹੁੰਦੀ ਹੈ।
  3. 3
    ਵਿਲੱਖਣ-ਮੁੱਲ ਮੋਡ Fisher-Yates ਜਾਂ rejection tracking ਵਰਤਦਾ ਹੈ
    ਜਦੋਂ ਵਿਲੱਖਣ ਮੋਡ ਚਾਲੂ ਹੋਵੇ ਅਤੇ ਸੀਮਾ ਮੈਮਰੀ ਵਿੱਚ ਫਿੱਟ ਹੋਵੇ (100,000 ਮੁੱਲਾਂ ਤੱਕ), ਟੂਲ ਪੂਰਾ ਭੰਡਾਰ ਬਣਾ ਕੇ Fisher-Yates ਨਾਲ ਫੈਂਟਦਾ ਹੈ। ਬਹੁਤ ਵੱਡੀਆਂ ਸੀਮਾਵਾਂ ਲਈ ਇਹ ਇਸਦੀ ਥਾਂ ਇੱਕ-ਇੱਕ ਮੁੱਲ ਲੈਂਦਾ ਹੈ, ਦੁਹਰਾਅ ਛੱਡਦੇ ਹੋਏ — ਅਰਬਾਂ-entries ਵਾਲਾ array ਬਣਾਉਣ ਦੀ ਮੈਮਰੀ ਲਾਗਤ ਤੋਂ ਬਚਦੇ ਹੋਏ।
  4. 4
    ਨਤੀਜੇ ਐਨੀਮੇਟਿਡ ਢੰਗ ਨਾਲ ਆਉਂਦੇ ਹਨ ਅਤੇ ਸੈਸ਼ਨ ਇਤਿਹਾਸ ਵਿੱਚ ਰਹਿੰਦੇ ਹਨ
    ਅੰਤਿਮ ਮੁੱਲ requestAnimationFrame ਨਾਲ ਐਨੀਮੇਟ ਹੋ ਕੇ ਆਪਣੀ ਥਾਂ ਆਉਂਦੇ ਹਨ (ਨੰਬਰਾਂ ਲਈ slot-machine ਘੁਮਾਅ, ਪਾਸਾ ਮੋਡ ਲਈ ਲੁੜ੍ਹਕਦੇ ਪਾਸੇ), ਫਿਰ ਇੱਕ ਸਕ੍ਰੋਲ ਕਰਨਯੋਗ ਇਤਿਹਾਸ ਲੌਗ ਵਿੱਚ ਦਿਸਦੇ ਹਨ ਜਿਸਨੂੰ ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਸਮੇਂ ਕਾਪੀ ਕਰ ਸਕਦੇ ਹੋ। ਕੁਝ ਵੀ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਤੋਂ ਬਾਹਰ ਨਹੀਂ ਜਾਂਦਾ।

ਸੰਬੰਧਿਤ ਟੂਲ

ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ