跳转到主要内容
HWID Checker
hwid基础知识硬件指纹识别

什么是 HWID?它如何工作?

了解硬件 ID 是什么、它可能使用哪些设备信息、标识符如何规范化和哈希处理,以及 HWID 与浏览器指纹有何区别。

HWID Checker · 2026年7月19日 · 2 分钟阅读

硬件 ID(HWID)是软件用来区分或识别设备的值。HWID 并没有统一标准:一种产品可能使用主板 UUID,另一种可能使用 Windows MachineGuid,还有一种可能会将多个标识符哈希处理,生成特定于厂商的指纹。

因此,同一台计算机可能有多个都被称为“HWID”的有效值。在分享某个值之前,请先确认接收方需要的是哪个字段和哪种格式。

HWID 可以包含哪些信息?

软件可能会使用以下一种或多种属性:

  • 主板 — SMBIOS UUID、制造商信息或序列号
  • BIOS 和机箱 — 固件或机箱序列号
  • 存储设备 — 物理驱动器序列号或卷标识符
  • CPU — 型号信息或 ProcessorId;ProcessorId 并不是每颗芯片独有的序列号
  • 网络 — MAC 地址,这类地址可能发生变化或被随机化
  • 操作系统 — Windows MachineGuid 或 Linux machine-id 等安装标识符
  • 显卡和内存 — 可用时采用型号信息或固件值

有些值以固件为基础,有些用于标识某次操作系统安装,还有些只描述组件型号。它们的稳定性和唯一性并不相同。

常见标识符有多稳定?

| 标识符 | 通常的稳定性 | 会在何时变化 | 重要局限 | | --- | --- | --- | --- | | 主板 SMBIOS UUID | 有效时极高 | 更换主板或固件发生变化 | 可能为空、使用通用值,或被厂商重复使用 | | 主板序列号 | 有效时极高 | 更换主板 | 部分设备会报告占位值 | | 物理磁盘序列号 | 高 | 更换驱动器或固件发生变化 | 虚拟磁盘和存储控制器可能会将其隐藏 | | CPU ProcessorId | 高 | 更换 CPU | 标识的是处理器特征,而不是某一颗独有的芯片 | | Windows MachineGuid | 中 | 重装 Windows、克隆系统镜像或手动更改 | 特定于某次系统安装,并未与物理硬件绑定 | | MAC 地址 | 中 | 更换适配器、启用随机化或通过软件更改 | 容易更改,单独作为标识符时可靠性较弱 | | Linux machine-id | 中 | 重装系统、制作系统镜像或手动重新生成 | 标识的是某次操作系统安装,而不是硬件 | | 浏览器指纹 | 不固定 | 浏览器、操作系统、扩展、驱动程序或设置发生变化 | 属于统计意义上的浏览器身份,并非硬件序列号 |

组合多个值可以减少对某一个薄弱值的依赖,但只要其中任何一个输入发生变化,最终的精确哈希值仍会随之改变。

HWID 是如何生成的

大多数实现都遵循三个阶段。

1. 收集标识符

本机软件或操作系统命令会读取设备上可用的值。Windows 工具可能会查询 MachineGuid 和 CIM 类;macOS 通过 IOKit 和 system_profiler 提供特定值;Linux 则通过文件和系统工具提供计算机及固件数据。

普通网页无法读取主板 UUID、物理磁盘序列号或 MAC 地址。它只能收集浏览器公开的信号,例如用户代理、屏幕属性、时区、GPU 渲染器和画布输出。

2. 规范化这些值

原始值在大小写、空格、顺序或标点符号方面可能存在差异。稳定的实现会先定义一种规范表示,再进行比较或哈希处理:

machine_guid:6f9619ff-8b86-d011-b42d-00c04fc964ff
smbios_uuid:3f2504e0-4f89-41d3-9a0c-0305e82c3301
disk_serial:sn123456

规范化规则还必须明确如何处理缺失值、通用固件字符串、多个网络适配器和虚拟设备。

3. 哈希或比较

规范化后的值可以通过 SHA-256 处理,生成固定长度的摘要。安全哈希不会直接暴露原始字符串,但它无法让薄弱的输入变得唯一,也不能证明数据确实来自真实硬件。

单个组合式 SHA-256 哈希无法指出究竟是哪个组件发生了变化。如果系统需要允许合理的硬件升级,就必须采用受保护的组件级证据、加权匹配策略或设备重新激活流程。

硬件 ID 与浏览器指纹

两者概念相关,但并不相同:

| 信号 | 标识对象 | 普通网站能否获取? | 通常的持久性 | | --- | --- | --- | --- | | 硬件或固件标识符 | 组件或设备属性 | 否 | 通常不受浏览器和操作系统变化影响 | | 操作系统安装 ID | 某一次操作系统安装 | 否 | 重装系统或制作镜像后可能发生变化 | | 浏览器指纹 | 浏览器环境 | 是 | 软件或设置变化后可能发生漂移 | | IP 地址 | 网络连接 | 服务器可见 | 会随网络或服务提供商而变化 |

因此,在线指纹生成器生成的是浏览器指纹,而不是主板 UUID 或磁盘序列号。如果你需要设备或固件标识符,请使用 Windows 工具或操作系统文档中说明的命令。

常见的 HWID 格式

| 格式 | 示例 | 外观能够说明什么 | | --- | --- | --- | | UUID / GUID | 3f2504e0-4f89-41d3-9a0c-0305e82c3301 | 采用标准化的 128 位布局,但不能证明它源自硬件 | | 类 SHA-256 十六进制值 | 64 个十六进制字符 | 外观符合 SHA-256 摘要,但具体算法和输入未知 | | 类 MD5 十六进制值 | 32 个十六进制字符 | 外观符合旧式摘要 | | MAC 地址 | 00:1B:44:11:3A:B7 | 可被更改或随机化的网络接口地址 | | 序列号 | 特定于厂商的文本 | 其含义和验证方式取决于制造商 | | 组合式 ID | 前缀和分隔符 | 由厂商定义、包含一个或多个字段的结构 |

使用 HWID 验证器和解析器可以检测可能的格式,并查看其中可识别的部分。一个看起来格式有效的字符串,并不能证明该值真实、唯一或与某台特定设备绑定。

软件如何使用 HWID

软件许可

厂商可能会将一次激活与设备派生的标识符关联起来。后续检查时,软件会将当前证据与已记录的激活信息进行比较。良好的系统会提供停用、恢复或硬件升级处理机制,而不会因为一个组件发生变化就永久阻止客户使用软件。

有关实现细节,请阅读 基于 HWID 的软件许可:激活与硬件变更

设备信任与欺诈信号

设备指纹可以作为综合风险判断中的一项信号。系统通常还会考虑账户历史、网络信誉和行为;仅凭 HWID 无法证明一个人的身份。

IT 资产清单与支持

IT 团队可以将选定的组件标识符与受管资产关联。支持系统可以在日志和工单中附加一致的设备引用,同时将完整的环境报告单独保存。

反作弊处罚

一些发行商可能会在作出处罚决定时考虑设备指纹。具体输入和权重通常不会公开。HWID 封禁检查器会将用户报告的情况与常见的账户、网络和硬件封禁模式进行比较,但它无法访问或确认发行商的记录。

硬件发生变化时会怎样?

结果取决于使用了哪些输入:

  • 更换主板会改变从主板派生的值。
  • 更换物理驱动器会改变它的序列号,但不一定会改变 MachineGuid。
  • 重装 Windows 通常会改变特定于系统安装的标识符,但不会改变固件序列号。
  • 更换网络适配器或启用 MAC 地址随机化会改变网络相关的值。
  • 更新浏览器、扩展、驱动程序或隐私设置可能会改变浏览器指纹。

需要保持连续性的系统应明确记录其匹配规则,并提供合法的恢复途径。

隐私注意事项

当持久设备标识符与个人、账户或活动相关联时,它可能属于个人数据。应仅收集实现明确目的所必需的值,避免存储不必要的原始序列号,说明数据保留政策,并妥善保护服务器端保存的任何标识符表示形式。

浏览器端的验证器和解析器在本地运行。可选的 JSON API 只会接收用户主动提交给它的标识符。完整的数据流说明请参阅隐私政策

如何查找或检查标识符

常见问题

HWID 和序列号是同一个东西吗?

不一定。序列号只是可能使用的一种输入。HWID 可以是固件 UUID、系统安装 ID、原始序列号,也可以是由多个值生成的哈希。

两台设备可能拥有相同的 HWID 吗?

可能。输入值可能为空、使用通用值、被克隆或重复。较长的哈希可以降低摘要意外碰撞的概率,但无法为原本不具备唯一性的源数据增加唯一性。

网站能读取我的硬件 ID 吗?

普通网站无法读取主板 UUID 或物理磁盘序列号。它可以利用浏览器允许访问的信号创建浏览器指纹。

重装 Windows 会改变 HWID 吗?

重装系统会改变 MachineGuid 等特定于系统安装的值,但通常不会改变以固件为基础的主板序列号或物理驱动器序列号。特定于厂商的组合式 HWID 只有在其选用的某个输入发生变化时才会改变。

我可以重置 HWID 吗?

不存在一个可以统一重置的通用 HWID。对于许可软件,应使用厂商提供的停用、设备管理或支持流程,而不要尝试伪造标识符。