#uuid #unique-id #machine-id #hwid #hardware-id #sha-1 #machineuid

machineid-rs

获取加密的唯一机器 ID/HWID/UUID。受 .Net DeviceId 启发。

11 个稳定版本

1.2.4 2023年7月25日
1.2.3 2023年3月10日
1.2.2 2022年4月25日
1.2.1 2022年1月9日
1.1.0 2021年7月30日

#93操作系统 分类中

Download history 13894/week @ 2024-04-18 13466/week @ 2024-04-25 14367/week @ 2024-05-02 13415/week @ 2024-05-09 13876/week @ 2024-05-16 2656/week @ 2024-05-23 2494/week @ 2024-05-30 2075/week @ 2024-06-06 2445/week @ 2024-06-13 3225/week @ 2024-06-20 2651/week @ 2024-06-27 3384/week @ 2024-07-04 2583/week @ 2024-07-11 2751/week @ 2024-07-18 4560/week @ 2024-07-25 4782/week @ 2024-08-01

每月15,407 次下载
用于 6 个包 (5 个直接使用)

MIT/Apache

24KB
531

docs.rs docs

Rust 机器 ID - 类似 .Net DeviceId

这个 Rust 包受 DeviceId 启发,DeviceId 是一个 .Net 包,用于构建唯一的机器 ID。

特性

  • 3 种不同的哈希类型 (MD5, SHA1, SHA256)
  • 不同的组件来创建 ID
  • 支持 Windows、Linux 和 MacOS
  • 无需管理员权限

如何使用

首先将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
machineid-rs = "1.2.4"

然后,您需要定义一个 builder 变量,其中包含您想要的加密类型。

例如,SHA256

use machineid_rs::{IdBuilder, Encryption};

// There are 3 different encryption types: MD5, SHA1 and SHA256.
let mut builder = IdBuilder::new(Encryption::SHA256);

然后,您只需添加您想要的 ID 组件。

可用的组件包括

  • 系统 UUID:机器的唯一标识符

  • CPU 核心:计算机的物理核心数量

  • 操作系统名称:操作系统名称,例如,linux/windows

  • 用户名:当前正在使用的用户名

  • 机器名称:机器的名称

  • CPU ID:处理器的序列号

  • 驱动器序列号:存储操作系统的磁盘的序列号。

例如,我将添加系统 UUID 和 CPU 核心

use machineid_rs::HWIDComponent;

builder.add_component(HWIDComponent::SystemID).add_component(HWIDComponent::CPUCores);

准备好后,只需使用您的密钥构建 ID 即可

let hwid = builder.build("mykey").unwrap();

待办事项

  • 优化代码

欢迎报告您发现的任何错误! ;)

依赖项

~2–27MB
~396K SLoC