device-fingerprint
Generate a unique device fingerprint by collecting hardware identifiers from Windows devices.
Features
- No Admin Rights Required - All collection methods work without elevated privileges
- Pure Windows API - Uses only
windows-sysfor native API calls, with optional WMIC support - Stable & Reliable - Generates fingerprints based on Machine GUID and CPU characteristics
- SHA256 Output - Produces a standard 64-character hash value
Installation
Add the dependency to your Cargo.toml:
[]
= "0.1"
Quick Start
use ;
API Documentation
Main Functions
| Function | Description |
|---|---|
generate() |
Generate device fingerprint, returns 64-character SHA256 hash |
verify(expected) |
Verify if the fingerprint matches the current device |
Collector Module
| Function | Description |
|---|---|
collectors::machine_guid() |
Get Windows Machine GUID |
collectors::cpu_id() |
Get CPU vendor and feature information |
collectors::wmic_uuid() |
(Optional) Get SMBIOS UUID via WMI |
Collected Information
| Component | Source | Stability |
|---|---|---|
| Machine GUID | Registry HKLM\SOFTWARE\Microsoft\Cryptography |
Changes after OS reinstall |
| CPU ID | CPUID instruction | Changes after CPU replacement |
Use Cases
Use this library in scenarios where client-side feature modification is restricted, enabling:
- Software license binding
- Device authentication
System Requirements
- Windows 7 and above
- x86 / x86_64 architecture
License
MIT