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 | |
| parent | 4fde1ecd61c0f67057df0c55a45ba398da580ae1 (diff) | |
| download | azalea-drasl-ba3a88336a074f902667d3e13471af62b431da04.tar.xz | |
move offline-mode uuid generation to azalea-crypto
Diffstat (limited to 'azalea-crypto/src')
| -rw-r--r-- | azalea-crypto/src/lib.rs | 1 | ||||
| -rw-r--r-- | azalea-crypto/src/offline.rs | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/azalea-crypto/src/lib.rs b/azalea-crypto/src/lib.rs index 738c4899..da10f530 100644 --- a/azalea-crypto/src/lib.rs +++ b/azalea-crypto/src/lib.rs @@ -1,5 +1,6 @@ #![doc = include_str!("../README.md")] +pub mod offline; mod signing; use aes::{ 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 +} |
