从节点加密中消除破折号生成的随机值?

NPMcuid库中有这个函数

import * as crypto from "crypto"

var lim = Math.pow(2, 32) - 1;

export function getRandomValue () {
  return Math.abs(crypto.randomBytes(4)
    .readInt32BE(0) / lim)
}

来自 this 的返回值不应返回带有破折号的值。

但是,根据我的测试采样一百万个值,返回的一个值包含一个 dash

我们如何消除破折号?

有人在较早的问题中建议使用%而不是,/这有效。我运行了 1000 万个样本,但没有一个包含破折号,所以这对你们其他人来说似乎是正确的做法吗?

风格

“破折号”不是连字符。

它是数字的科学记数法,例如8.55652615627193e-7.

有关类似问题,请参阅javascript 数字中的“e”

您可以使用num.toString(16)转换为十六进制,看起来像0.00000e5b00000e5b.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章