【发布时间】:2016-02-21 18:26:08
【问题描述】:
以下选项中最好的方法是什么:
选项 1:
var d = new Date();
uniqueString = d.getTime();
选项 2:
uniqueString = Math.random();
【问题讨论】:
-
“超出以下选项”:我认为这将是两者的结合。
-
这些都不会是非常独特的。
-
请详细说明您对“独特”的定义。您在寻找会话 ID 吗?数据库的主键?可用于关联请求和响应的请求 ID?取决于你想要做什么,要么要么都不行。在真空中,我不会使用上述任何一种。
-
@Nicensin 问题是,它们甚至可能还不够“独特”。如果
Math.random()返回一个 64 位浮点double,则在生成 600 万个密钥后,您发生冲突的几率大约为 (wikiwand.com/en/Birthday_attack) 百万分之一。如果密钥的范围是瞬态的,这可能就足够了。如果您要为大型 Web 应用程序存储审核日志,则可能不会。
标签: javascript string unique numeric