Անցնել հիմնական բովանդակությանը

Պատահական թվերի գեներատոր անվճար

Ստեղծեք պատահական թվեր ցանկացած տիրույթում, ստեղծեք եզակի թվերի ցուցակներ կամ գլոր կուբիկ: Օգտագործում է ծածկագրային ապահով պատահականություն:

Աշխատում է անցանց՝ բեռնվելուց հետո

🔒 Յուրաքանչյուր թիվ օգտագործում է ձեր բրաուզերի կրիպտոգրաֆիական անվտանգ պատահականությունը (crypto.getRandomValues) — իրականում արդար, ոչ թե կանխատեսելի Math.random()։ Ոչ մի բան ոչ մի տեղ չի ուղարկվում։ Այդ իսկ պատճառով, մի օգտագործեք այս թվերը կրիպտոգրաֆիական բանալու ստեղծման, անվտանգության նշանների կամ ստուգված ապարատային-հավաստագրված պատահականության աղբյուրներ պահանջող կարգավորված վիճակախաղ/ազարտային ծրագրերի համար։

Ցանկացի՞ց ըստ անվան հաղթող ընտրել, թե՞ մետաղադրամ նետել։ Օգտվեք «Մետաղադրամ, անիվ և ցանկից ընտրիչ» գործիքից →

Տարածված կիրառություններ

  • Ստեղծեք վիճակախաղի համարներԸնտրեք պատահական վիճակախաղի համարներ Powerball, Mega Millions, EuroMillions և այլ խաղերի համար:
  • Ընտրեք պատահական հաղթողին բաժանումների համարԱրդար ընտրություն պատահական հաղթողի համար համարակալված մուտքի ցանկից մրցակցությունների և բաժանումների համար:
  • Գլորեք զառ սեղանի խաղերի համարԳլորեք զառի ցանկացած համակցություն - d4, d6, d8, d10, d12, d20, d100 - D&D և սեղանի RPG-ի համար:
  • Պատահական նմուշառում հետազոտության համարՍտեղծեք պատահական նմուշներ, վերագրեք պատահական ID կամ ընտրեք պատահական ենթաբազմություն համարակալված տվյալների հավաքածուից:
  • Ստեղծեք թեստային տվյալներ պատահական համարներՍտեղծեք մեծ պատահական համարների ցանկերը ալգորիթմներ փորձելու, տվյալների բազա լրացնելու և համակարգերի սթրես փորձելու համար:

Ինչպես է այն աշխատում

Ամեն թիվ, որ այս գործիքը ստեղծում է, գալիս է crypto.getRandomValues-ից — դիտարկիչի ծպտագրորեն ապահով պատահական աղբյուրից, նույնից, որ օգտագործվում է TLS բանալու ստեղծման համար։ Ձեռագիր մերժման-նմուշառման ալգորիթմը դրա վրա է, որպեսզի վերացնի մոդուլո կողմնակալությունը, որը վնասում է պարզ Math.random() % range իրականացումները, ներառյալ 2^32-ից լայն տիրույթները BigInt թվաբանությամբ։

  1. 1
    Սահմանեք ձեր տիրույթը և ռեժիմը
    Ընտրեք մեկ թվի, խմբաքանակային ցանկի (մինչև 1000), կամ բազմանիստ զառերի (d4-ից d100) միջև։ Ցանկերի համար կարող եք նաև պահանջել եզակի արժեքներ և ընտրովի կարգով դասավորել ելքը աճման կարգով։
  2. 2
    crypto.getRandomValues-ը քաշում է հում էնտրոպիա
    Ամեն թիվ քաշվում է Uint32Array-ից (կամ BigUint64Array-ից 2^32-ից լայն տիրույթների համար), լցված դիտարկիչի ծպտագրական RNG-ով — ոչ Math.random()-ով։ Մերժման նմուշառումն ապա դեն է նետում արժեքները, որոնք կխեղաթյուրեին բաշխումը, ուստի ձեր տիրույթի ամեն ամբողջ թիվ ունի ուղիղ հավասար հավանականություն։
  3. 3
    Եզակի-արժեքի ռեժիմն օգտագործում է Fisher-Yates կամ մերժման հետևում
    Երբ եզակի ռեժիմը միացված է, և տիրույթը տեղավորվում է հիշողության մեջ (մինչև 100,000 արժեք), գործիքը նյութականացնում է ամբողջ ավազանը և խառնում է այն Fisher-Yates-ով։ Շատ մեծ տիրույթների համար այն փոխարենը քաշում է արժեքները մեկ առ մեկ, բաց թողնելով կրկնությունները — խուսափելով միլիարդ-մուտքանոց զանգված կառուցելու հիշողության ծախսից։
  4. 4
    Արդյունքները տեղավորվում են անիմացված հետադարձ կապով և մնում են աշխատաշրջանի պատմության մեջ
    Վերջնական արժեքներն անիմացիայով տեղավորվում են տեղում (թվերի համար slot-մեքենայի պտույտ, զառի ռեժիմի համար՝ գլորվող զառեր)՝ requestAnimationFrame-ով, ապա հայտնվում են ոլորելի պատմության մատյանում, որը կարող եք պատճենել ցանկացած պահի։ Ոչինչ չի հեռանում ձեր դիտարկիչից։

Առնչվող գործիքներ

Հաճախակի տրվող հարցեր