diff options
| author | mat <git@matdoes.dev> | 2025-12-09 01:27:44 +0000 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2025-12-09 13:26:12 +1100 |
| commit | ba3a88336a074f902667d3e13471af62b431da04 (patch) | |
| tree | 4c7052376abfccff8c090192c90d92280154f9c5 /azalea-crypto/src/offline.rs | |
| parent | 4fde1ecd61c0f67057df0c55a45ba398da580ae1 (diff) | |
| download | azalea-drasl-ba3a88336a074f902667d3e13471af62b431da04.tar.xz | |
move offline-mode uuid generation to azalea-crypto
Diffstat (limited to 'azalea-crypto/src/offline.rs')
| -rw-r--r-- | azalea-crypto/src/offline.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/azalea-crypto/src/offline.rs b/azalea-crypto/src/offline.rs new file mode 100644 index 00000000..737555e8 --- /dev/null +++ b/azalea-crypto/src/offline.rs @@ -0,0 +1,17 @@ +use md5::{Digest, Md5}; +use uuid::Uuid; + +pub fn generate_uuid(username: &str) -> Uuid { + uuid::Builder::from_md5_bytes(hash(format!("OfflinePlayer:{username}").as_bytes())).into_uuid() +} + +fn hash(data: &[u8]) -> [u8; 16] { + let mut hasher = Md5::new(); + + hasher.update(data); + + let mut bytes = [0; 16]; + bytes.copy_from_slice(&hasher.finalize()[..16]); + + bytes +} |
