uniqueid 🔍

Generates a unique hash/identifier for a system given a set of parameters.

Example usage

```rust use uniqueid::identifier::{IdentifierBuilder, IdentifierType};

let mut builder = IdentifierBuilder::default();

builder.name("test");
builder.add(IdentifierType::CPU);
builder.add(IdentifierType::RAM);
builder.add(IdentifierType::DISK);

let identifier = builder.build();

println!("{}", identifier.to_string());

```


Specification

```text UniqueID uses its own specification.

The spec consists of three parts: - The Identifier; [] - The IdentifierType; () - The IdentifierTypeData; (a=b, ...)

A basic identifier would look like this:

NAME[TYPE(a=b, ...), ...]

NAME - Optional name of the identifier. (Can be used as a label or salt) TYPE - The type of identifier, e.g. CPU, GPU, etc. DATA - The data for the identifier, e.g. Vendor=Intel, Model=Xeon E5-2670

This is a very basic example of an identifier, and most use cases will have more types, more data, and hash the output. ```

Roadmap

License

This software is licensed under the GNU General Public License v3.0

For more information, see the LICENSE file in the root directory of this project or see here.