当前位置: 首页 > news >正文

node.js使用NodeMachineID 生成唯一UUID和注意事项

node-machine-id用于获取或生成唯一的机器ID

如何使用

const { machineId, machineIdSync } = require('node-machine-id')
JSON.stringify(machineIdSync({original: true}))	;

在这里插入图片描述

方法: machineIdSync
此函数同步获取操作系统本机UUID/GUID,默认情况下进行哈希处理。
function machineIdSync(original?: boolean): string;
如果为true,则返回机器id的原始值,否则返回哈希值(sha-256)
推荐使用方法:machineId
function machineId(original?: boolean): Promise;
功能和上面一样只是异步实现

在vue中设置 全局UUID版本号可以配置在vue.config.js中

//	vue.config.js中
configureWebpack: {plugins: [new webpack.DefinePlugin({VERSION: JSON.stringify(machineIdSync({original: true}))}),new NodePolyfillPlugin()],},
//main.js中
app.config.globalProperties.$VERSION = VERSION;

注意事项

使用盗版操作系统UUID重复问题

如果使用一个U盘装操作系统,那么装出来的电脑UUID将全部都是相同的一个,如:
操作系统UUID (03000200-8400-8580-8836-880700083009)
在这里插入图片描述
使用生成node-machine-id的结果也是一样的,如下:
在这里插入图片描述
目前博主默认解决方法是模拟一个UUID生成,存储到localStorage

function uuid() {  var uuidValue = "", k, randomValue;  for (k = 0; k < 32;k++) {  randomValue = Math.random() * 16 | 0;  if (k == 8 || k == 12 || k == 16 || k == 20) {  uuidValue += "-"  }  uuidValue += (k == 12 ? 4 : (k == 16 ? (randomValue & 3 | 8) : randomValue)).toString(16);  }  return uuidValue;  
}  
let VER = localStorage.getItem("VERSION");
if(!VER){VER = uuid();   //如: 53bc2742-f470-4f37-864f-03df6e84159clocalStorage.setItem("VERSION", VER);
}
http://www.lryc.cn/news/414289.html

相关文章:

  • AI大模型在数据治理中的应用
  • 【初学人工智能原理】【12】循环:序列依赖问题
  • 【QT】无法打开QT的ui文件,出现闪退情况
  • 三、Spring-WebFlux实战案例-流式
  • html+css 实现hover双层按钮
  • SPIFFS与LittleFS的对gz文件格式的区别
  • STM32L051K8U6-开发资料
  • Markdown语法学习
  • [最短路Floyd],启动!!!
  • 7月29(信息差)
  • ubuntu中禁止使用鼠标拖动来移动文件
  • 【密码学】椭圆曲线密码体制(ECC)
  • 第25集《大佛顶首楞严经》
  • python 读写文件之 open 和 with open() 详细解析
  • 操作系统:内存----知识点
  • pfx如何配置到nginx中
  • 详细测评下搬瓦工香港CN2 GIA VPS
  • Java中的五种线程池类型
  • FFmpeg Windows安装教程
  • ‘#‘ is not followed by a macro parameter 关于宏定义的错误
  • 内网穿透--meterpreter端口转发实验
  • Python 数据类:减少样板并提高可读性
  • 家庭教育系列—北京海淀区”鸡娃“攻略
  • DLMS/COSEM中的信息安全:DLMS/COSEM安全概念(下)
  • 基于 systemc-2.3.1的virtual device 接入 qemu-arm
  • (七)自动化测试
  • 【信创】virtualbox内虚拟机连接U盘 _ 统信 _ 麒麟 _ 中科方德
  • 【2024】Datawhale AI夏令营 Task4笔记——vllm加速方式修改及llm推理参数调整上分
  • 腾讯OCR签名算法
  • CTFHUB-SSRF-DNS重绑定 Bypass