azalea_auth/offline.rs
1use md5::{Digest, Md5};
2use uuid::Uuid;
3
4pub fn generate_uuid(username: &str) -> Uuid {
5 uuid::Builder::from_md5_bytes(hash(format!("OfflinePlayer:{username}").as_bytes())).into_uuid()
6}
7
8fn hash(data: &[u8]) -> [u8; 16] {
9 let mut hasher = Md5::new();
10
11 hasher.update(data);
12
13 let mut bytes = [0; 16];
14 bytes.copy_from_slice(&hasher.finalize()[..16]);
15
16 bytes
17}