gpt4 book ai didi

javascript - Date epoch 是安全的唯一标识符吗?

转载 作者:行者123 更新时间:2023-11-30 08:36:21 30 4
gpt4 key购买 nike

我正在编写一个 Node API 并得到一个模型,我必须为其生成一个15 位随机数。这必须是唯一的,并且不应看起来微不足道(我无法获得自动增量)。

我真的不想生成数字并查询 Mongo 数据库以进行存在性检查。我将不得不以这种方式基于 promise 生成某种 while 循环。

我考虑过简单地使用 new Date().epoch 但是,这会是独一无二的吗?我能得到一份副本吗?

然后我还想添加类似的内容:

function privateKey (howMany, chars) {
chars = chars
|| "0123456789";
var rnd = crypto.randomBytes(howMany)
, value = new Array(howMany)
, len = chars.length;

for (var i = 0; i < howMany; i++) {
value[i] = chars[rnd[i] % len]
};

return parseInt(value.join(''));
}

包括避免口是心非。我应该如何实现?

编辑,这应该是一个数字。

我知道有 uuid 和 Mongo ObjectId,但它们不仅仅是数字。

最佳答案

我认为这不是个好主意。原因之一是系统时间偏差。在与某些基准服务器同步时间后,您会得到重复项。事实上,这可能每隔几个小时就会在运行时发生一次。有些服务器时间漂移严重,每隔一段时间就会同步一次时间。任何时候发生这种情况,您都可以获得副本。

关于javascript - Date epoch 是安全的唯一标识符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31058638/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com