From 3755b0f8734ac5b4d956b7f18e1e21c910fbd079 Mon Sep 17 00:00:00 2001 From: imbytecat Date: Fri, 23 Jan 2026 16:14:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=A1=AC=E4=BB=B6?= =?UTF-8?q?=E6=8C=87=E7=BA=B9=E7=94=9F=E6=88=90=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 生成硬件指纹,通过收集系统唯一标识、主板、BIOS、系统信息、磁盘布局和网络接口数据并哈希处理 --- packages/utils/src/fingerprint.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/packages/utils/src/fingerprint.ts b/packages/utils/src/fingerprint.ts index 75fc89e..b88796a 100644 --- a/packages/utils/src/fingerprint.ts +++ b/packages/utils/src/fingerprint.ts @@ -1,2 +1,29 @@ import { hash } from 'ohash' import si from 'systeminformation' + +async function getSystemInfo() { + const [uuid, baseboard, bios, system, diskLayout, networkInterfaces] = + await Promise.all([ + si.uuid(), + si.baseboard(), + si.bios(), + si.system(), + si.diskLayout(), + si.networkInterfaces(), + ]) + + return { + uuid, + baseboard, + bios, + system, + diskLayout, + networkInterfaces, + } +} + +export async function getHardwareFingerprint() { + const systemInfo = await getSystemInfo() + + return hash(systemInfo) +}