Kyauta Mai Ƙirƙirar Lamba Bazuwar

Ƙirƙiri lambobi bazuwar a kowane zango, ƙirƙiri jerin lambobi na musamman, ko jefa dice. Yana amfani da bazuwar amintacce ta hanyar cryptography.

Yana aiki babu haɗi da zarar an loda shi

🔒 Kowace lamba tana amfani da bazuwar mai aminci na burauzarka (crypto.getRandomValues) — na gaskiya adalci, ba Math.random() mai iya hasashewa ba. Ba a aika komai zuwa ko'ina. Duk da haka, kada ka yi amfani da waɗannan lambobin don ƙirƙirar maɓallan sirri, alamomin tsaro, ko manhajojin caca/lottery da ke ƙarƙashin doka, waɗanda ke buƙatar tushen bazuwar da aka duba kuma aka tabbatar da su ta na'ura.

Kana buƙatar zaɓar wanda ya yi nasara daga jerin sunaye, ko ka jefa tsabar kuɗi? Yi amfani da kayan aikin Jefa Tsabar Kuɗi, Dabaran Juyawa da Mai Zaɓen Jeri →

Yadda Yake Aiki

Kowace lamba da wannan kayan aikin yake ƙirƙirawa tana zuwa daga crypto.getRandomValues — tushen bazuwar mai aminci na cryptographic na burauza, iri ɗayan da ake amfani da shi don ƙirƙirar maɓallin TLS. Wani algorithm na rejection-sampling da aka rubuta da hannu yana zaune a saman don kawar da son kai na modulo wanda yake shafar aiwatarwar Math.random() % range sauƙi, ciki har da zango mafi fadi daga 2^32 ta lissafin BigInt.

  1. 1
    Saita zangonka da yanayi
    Zaɓi tsakanin lamba guda, jerin yawa (har zuwa 1000), ko die polyhedral (d4 har zuwa d100). Don jerin za ka iya kuma bukatar ƙimomi na musamman kuma zaɓi jerawa da suka hau.
  2. 2
    crypto.getRandomValues yana ɗaukar entropy danye
    Ana ɗaukar kowace lamba daga wani Uint32Array (ko BigUint64Array don zango mafi fadi daga 2^32) da RNG na cryptographic na burauza ya cika — ba Math.random() ba. Rejection sampling sannan tana zubar da ƙimomin da za su karkatar da rabon, don haka kowace cikakkiyar lamba a zangonka tana da yiwuwa daidai daidai.
  3. 3
    Yanayin ƙima-na-musamman yana amfani da Fisher-Yates ko bin diddigin rejection
    Lokacin da yanayin na-musamman a kunne yake kuma zangon yana dacewa a ƙwaƙwalwa (har zuwa 100,000 ƙima), kayan aikin yana gina cikakken tarin kuma yana jujjuya shi da Fisher-Yates. Don zango mai girma sosai yana maimakon haka ɗaukar ƙimomi guda-guda, yana tsallake maimaitawa — yana guje wa farashin ƙwaƙwalwar gina jeri na biliyoyin-shigarwa.
  4. 4
    Sakamako suna zuwa da amsa mai motsi kuma suna zama a tarihin zaman
    Ƙimomin ƙarshe suna motsi zuwa matsayi (wani jujjuya slot-machine don lambobi, die masu jujjuya don yanayin die) ta amfani da requestAnimationFrame, sannan suna bayyana a wani log na tarihi mai iya sakewa da za ka iya kwafi a kowane lokaci. Babu wani da yake barin burauzarka.

Kayan Aiki Masu Alaƙa

Tambayoyin Da Ake Yi Sau Da Dama