PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/bigint-crypto-utils/src/ts
Просмотр файла: randBetween.ts
import { bitLength } from 'bigint-mod-arith'
import { fromBuffer } from './fromBuffer'
import { randBitsSync } from './randBits'
/**
* Returns a cryptographically secure random integer between [min,max].
* @param max Returned value will be <= max
* @param min Returned value will be >= min
*
* @throws {RangeError}
* Arguments MUST be: max > min
*
* @returns A cryptographically secure random bigint between [min,max]
*/
export function randBetween (max: bigint, min: bigint = 1n): bigint {
if (max <= min) throw new RangeError('Arguments MUST be: max > min')
const interval = max - min
const bitLen = bitLength(interval)
let rnd
do {
const buf = randBitsSync(bitLen)
rnd = fromBuffer(buf)
} while (rnd > interval)
return rnd + min
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!