Nodejs - 为数据库生成唯一的随机字母数字随机字符串

时间:2016-09-15 18:13:28

标签: javascript node.js encryption

我有一个用例,我需要生成长度为25的字母数字大小写字符串,因此总可能的唯一组合非常高:

let

该字符串将存储在var数据库表中,let设置为36 pow (25) = 808281277464764060643139600456536293376

我使用以下代码生成字符串:

MySql

Node.js可以在集群模式下运行,因此不同请求的时间戳值可以相同,所以我还添加了unique。这足以确保随机字符串不会违反true唯一约束。

1 个答案:

答案 0 :(得分:3)

  

这是否足以确保随机字符串不会违反MySQL唯一约束。

36 25 有129位。如果我们应用生日问题,那么您可能会在2个 64 字符串周围发生冲突。你可能会产生比这更少的东西。只有使用良好的随机源时才会出现这种情况。

Math.random() 是一个好的随机源。