device-fingerprint

Crates.iodevice-fingerprint
lib.rsdevice-fingerprint
version0.1.1
created_at2025-12-25 12:52:03.014924+00
updated_at2026-01-06 14:08:01.086076+00
descriptionCollect hardware information to generate a unique device fingerprint; Windows systems only.
homepage
repositoryhttps://github.com/MelvinIris/device-fingerprint
max_upload_size
id2004525
size19,538
Melvin (MelvinIris)

documentation

README

device-fingerprint

Crates.io Documentation License: MIT

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-sys for 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:

[dependencies]
device-fingerprint = "0.1.1"

Quick Start

use device_fingerprint::{generate, verify};

fn main() {
    // Generate device fingerprint
    let fingerprint = generate();
    println!("Device Fingerprint: {}", fingerprint);

    // Verify device fingerprint
    if verify(&fingerprint) {
        println!("Fingerprint verification passed");
    }
}

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

Commit count: 2

cargo fmt