簡體   English   中英

隨機大 Integer 在范圍內 JavaScript

[英]Random Big Integer In Range JavaScript

我需要一個介於 0 和 integer 之間的隨機 integer,小數點后超過 1000 位。

使用這么大的整數很容易:大整數(NPM),但沒有隨機方法,並且 Math.random() 沒有表達足夠的精度來覆蓋域。

有誰知道在 JavaScript 中生成大范圍偽隨機整數的巧妙方法?

我認為您在 Node.JS 中的最佳解決方案是crypto.randomBytes(size, [callback]);

也許這個:

var crypto = require('crypto');
var biformat = require('biguint-format');

// Adjust # bytes as needed
var seed = biformat(crypto.randomBytes(8), 'dec');
bigInt(seed);

https://www.npmjs.com/package/random-bigint

const random = require('random-bigint')

// synchronous api, generates a random number between 0 and 2**128-1
const num = random(128) // 128 bits

僅供參考,** 是冪運算

function genRandomNumber(byteCount, radix) { return BigInt('0x' + crypto.randomBytes(byteCount).toString('hex')).toString(radix) } // to genrate a 8 byte number in decimal format string const randomNumber = genRandomNumber(8, 10)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM