Les UUIDs (Universally Unique Identifiers) sont un moyen fiable d’identifier de manière unique les objets dans les systèmes distribués puisqu’ils éliminent le besoin d’une coordination centralisée. Les UUID améliorent l’intégrité des données et favorisent l’interopérabilité entre les systèmes grâce à leur caractère unique et à leur résistance aux collisions.
Rust est populaire dans les domaines où les identifiants uniques sont essentiels, y compris les réseaux, la construction d’applications web et les systèmes distribués ; il existe de nombreux crates pour générer et personnaliser les UUID avec Rust, et vous pouvez écrire du code Rust pour exécuter l’UUID. uuid sur votre machine et récupérer un UUID.
Générer des UUIDs avec le uuid Crate
Le cratère uuid crate est l’outil le plus populaire pour générer des UUID en Rust.
Ajouter l’option uuid crate comme l’une des dépendances de votre projet dans votre fichier Cargo.toml fichier :
[dependencies]
uuid = { version = "0.8", features = ["serde", "v4"] }
La génération d’UUIDs avec le paquet est simple. Vous pouvez utiliser la fonction new_v4 pour générer un UUID version quatre :
use uuid::Uuid;
fn main() {
// new_v4 generates a version 4 UUID
let my_uuid = Uuid::new_v4();
println!("{}", my_uuid);
}
Le principal génère un nouvel UUID avec la valeur new_v4 et imprime l’UUID sur la console avec la fonction println ! macro.
Vous pouvez personnaliser votre génération d’UUID avec la macro Constructeur et Version modules de la uuid crates.
Voici comment générer un RFC4122 UUID d’une version aléatoire avec l’attribut uuid crate :
// Import the necessary modules from the uuid crate
use uuid::{Builder, Version};
fn main() {
// Create a new Builder and initialize it with an array of 16 zero bytes
let uuid_result = Builder::from_bytes([0; 16])
// Set the UUID version to Random
.set_version(Version::Random)
// Set the UUID variant to RFC4122
.set_variant(uuid::Variant::RFC4122)
// Build the UUID
.build();
// Print the customized UUID in hyphenated format
println!("Customized UUID: {}", uuid_result.to_hyphenated());
}
Le principal génère l’UUID avec un nouveau Constructeur instance créée à l’aide de la fonction from_bytes qui prend en argument un tableau de seize octets (dans ce cas, un tableau de zéros). Le constructeur configure la génération de l’UUID en définissant la version à Aléatoire et la variante à RFC4122.
Enfin, le principal construit l’UUID avec la fonction construire sur le constructeur et imprime l’UUID sur la console.
Génération d’UUIDs par l’exécution de la commande UUID
Il se peut que vous n’ayez pas besoin de dépendances tierces dans Rust pour générer des UUID, en particulier si vous n’avez pas l’intention de personnaliser l’UUID en fonction de votre cas d’utilisation. La plupart des systèmes d’exploitation disposent d’un outil de génération d’UUID que la plupart des applications appellent pour générer des UUID. Vous pouvez écrire du code Rust pour exécuter l’outil de ligne de commande UUID et récupérer l’UUID pour votre programme.
Vous pouvez utiliser la fonction std::process::Command pour créer de nouveaux processus et interagir avec eux. Pour générer des UUID avec le module Commande Dans le module de commande, vous devrez identifier le nom de l’outil de génération d’UUID sur votre système d’exploitation. Sur macOS, l’outil de génération d’UUID s’appelle uuigen.
Voici comment vous pouvez générer et récupérer des UUIDs à partir de votre code Rust en exécutant la commande uuidgen avec la commande Commande module :
use std::process::Command;
fn generate_uuid() -> Result<String, std::io::Error> {
let output = Command::new("uuidgen").output()?;
let uuid = String::from_utf8_lossy(&output.stdout).into_owned();
Ok(uuid)
}
fn main() {
match generate_uuid() {
Ok(uuid) => println!("Generated UUID: {}", uuid),
Err(e) => eprintln!("Error generating UUID: {}", e),
}
}
Le générer_uuid renvoie la version chaîne de l’UUID et une erreur. La fonction générer_uuid crée un nouveau processus avec l’identifiant nouveau méthode de la Commandement récupère la sortie avec le module sortie et convertit l’UUID en chaîne de caractères avec la fonction from_utf8_lossy fonction.
Le principal appelle la fonction générer_uuid avec une déclaration de correspondance, traite l’erreur et produit l’UUID ou un message d’erreur en fonction de l’état de l’opération.
Vous pouvez construire des applications Web sophistiquées avec Rust
Les UUID sont très importants dans le développement des logiciels modernes. La plupart de vos applications quotidiennes utilisent des UUID, et des outils de génération d’UUID sont installés dans la plupart des systèmes d’exploitation, y compris Microsoft Windows, Linux et macOS.
Vous pouvez utiliser les UUID pour identifier les utilisateurs de vos applications web. C’est un excellent moyen de s’assurer que les utilisateurs ont un identifiant unique qu’ils peuvent utiliser pour suivre leur activité. En outre, vous pouvez utiliser les UUID pour identifier d’autres objets dans votre application web, qu’il s’agisse de fichiers, de documents ou de produits.
