nodejs中生成uuid

JavaScript09

nodejs中生成uuid,第1张

nodejs中有一个uuid的生成库uuid: https://www.npmjs.com/package/uuid ,使用起来非常简单。

要创建随机UUID,可以使用 npm 或者 yarn 安装 uuid 库

或者

或使用CommonJS语法:

对于时间戳UUID,名称空间UUID和其他选项,请阅读...

注意:parse()和stringify()使用的字节数组中的值的顺序遵循UUID字符串中十六进制对的从左往右的顺序。 如下例所示。

示例:

其他更多关于 uuid 库的方法的使用,具体参考npm官网: https://www.npmjs.com/package/uuid

当使用nodejs中的 uuid 库生成了 1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed 这种格式的uuid字符串后,有时候我们需要把中间的 - 字符去掉,这时候可以使用 string 的 replace 方法:

无法做到,包括后端语言也无法在 Web 中获取 UUID。

基于安全问题,JavaScript 无法获取到设备的 UUID,也没有接口可以获取 UUID。

如果 JavaScript 可以轻松做到,安卓设备的 APP 权限岂不是花瓶?!

1)1~8位采用系统时间,在系统时间上精确到毫秒级保证时间上的惟一性;

2)9~16位采用底层的IP地址,在服务器集群中的惟一性;

3)17~24位采用当前对象的HashCode值,在一个内部对象上的惟一性;

4)25~32位采用调用方法的一个随机数,在一个对象内的毫秒级的惟一性。

通过以上4种策略可以保证惟一性。在系统中需要用到随机数的地方都可以考虑采用UUID算法。