2 stable releases
| 1.1.2 | Sep 29, 2025 |
|---|
#7 in #machine-id
34KB
697 lines
base on
https://github.com/Taptiive/machineid-rs
Install
cargo add macid
Usage
use super::*;
use std::env;
use std::process;
use toolkit_rs::logger::{self, LogConfig};
#[allow(dead_code)]
fn init_log() {
logger::setup(LogConfig::default()).unwrap_or_else(|e| {
println!("log setup err:{}", e);
process::exit(1);
});
}
#[test]
fn every_option_sha256() {
let mut builder = IdBuilder::new();
builder
.add_component(HWIDComponent::SystemID)
.add_component(HWIDComponent::OSName)
.add_component(HWIDComponent::CPUCores)
.add_component(HWIDComponent::CPUID)
.add_component(HWIDComponent::DriveSerial)
.add_component(HWIDComponent::MacAddress)
.add_component(HWIDComponent::FileToken("test.txt"))
.add_component(HWIDComponent::Username)
.add_component(HWIDComponent::MachineName);
let id = builder.get_id().unwrap();
let hash = builder.encode_id(id, "mykey", Encryption::MD5).unwrap();
let expected = env::var("SHA256_MACHINEID_HASH").unwrap();
assert_eq!(expected, hash);
}
#[test]
fn every_option_sha1() {
let mut builder = IdBuilder::new();
builder
.add_component(HWIDComponent::SystemID)
.add_component(HWIDComponent::OSName)
.add_component(HWIDComponent::CPUCores)
.add_component(HWIDComponent::CPUID)
.add_component(HWIDComponent::DriveSerial)
.add_component(HWIDComponent::MacAddress)
.add_component(HWIDComponent::FileToken("test.txt"))
.add_component(HWIDComponent::Username)
.add_component(HWIDComponent::MachineName);
let hash = builder.encode("mykey", Encryption::MD5).unwrap();
let expected = env::var("SHA1_MACHINEID_HASH").unwrap();
assert_eq!(expected, hash);
}
#[test]
fn every_option_md5() {
let mut builder = IdBuilder::new();
builder
.add_component(HWIDComponent::SystemID)
.add_component(HWIDComponent::OSName)
.add_component(HWIDComponent::CPUCores)
.add_component(HWIDComponent::CPUID)
.add_component(HWIDComponent::DriveSerial)
.add_component(HWIDComponent::MacAddress)
.add_component(HWIDComponent::FileToken("test.txt"))
.add_component(HWIDComponent::Username)
.add_component(HWIDComponent::MachineName);
let hash = builder.encode("mykey", Encryption::MD5).unwrap();
let expected = env::var("MD5_MACHINEID_HASH").unwrap();
assert_eq!(expected, hash);
}
#[test]
fn every_option_md52() {
let mut builder = IdBuilder::new();
builder.add_component(HWIDComponent::DriveSerial);
let id = builder.get_id().unwrap();
let hash = builder.encode_id(id, "mykey", Encryption::MD5).unwrap();
let expected = env::var("MD5_MACHINEID_HASH").unwrap();
assert_eq!(expected, hash);
}
//639ad566dd7b7da6
#[test]
fn every_option_md516() {
let mut builder = IdBuilder::new();
builder.add_component(HWIDComponent::DriveSerial);
builder.add_component(HWIDComponent::MacAddress);
let id = builder.get_id().unwrap();
let hash = builder.encode_id(id, "mykey", Encryption::MD520).unwrap();
println!("{}", hash);
}
#[test]
fn every_id_test() {
let builder = IdBuilder::new();
builder.print_all();
}
Dependencies
~3–33MB
~443K SLoC