diff options
author | madmaxoft <github@xoft.cz> | 2014-07-30 13:52:51 +0200 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2014-07-30 13:56:30 +0200 |
commit | 17a94b16ea6207fd5f38fbd309b4db0d92de0d31 (patch) | |
tree | 0109cd55e8cfa6058255d2fa82dfaa0d3c7e4bd2 /src/ClientHandle.cpp | |
parent | Exported cMojangAPI to Lua. (diff) | |
download | cuberite-17a94b16ea6207fd5f38fbd309b4db0d92de0d31.tar cuberite-17a94b16ea6207fd5f38fbd309b4db0d92de0d31.tar.gz cuberite-17a94b16ea6207fd5f38fbd309b4db0d92de0d31.tar.bz2 cuberite-17a94b16ea6207fd5f38fbd309b4db0d92de0d31.tar.lz cuberite-17a94b16ea6207fd5f38fbd309b4db0d92de0d31.tar.xz cuberite-17a94b16ea6207fd5f38fbd309b4db0d92de0d31.tar.zst cuberite-17a94b16ea6207fd5f38fbd309b4db0d92de0d31.zip |
Diffstat (limited to 'src/ClientHandle.cpp')
-rw-r--r-- | src/ClientHandle.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp index e4ad218a2..3f81f0a29 100644 --- a/src/ClientHandle.cpp +++ b/src/ClientHandle.cpp @@ -233,13 +233,14 @@ AString cClientHandle::GenerateOfflineUUID(const AString & a_Username) // This guarantees that they will never collide with an online UUID and can be distinguished. // Proper format for a version 3 UUID is: // xxxxxxxx-xxxx-3xxx-yxxx-xxxxxxxxxxxx where x is any hexadecimal digit and y is one of 8, 9, A, or B + // Note that we generate a short UUID (without the dashes) // Generate an md5 checksum, and use it as base for the ID: unsigned char MD5[16]; md5((const unsigned char *)a_Username.c_str(), a_Username.length(), MD5); MD5[6] &= 0x0f; // Need to trim to 4 bits only... MD5[8] &= 0x0f; // ... otherwise %01x overflows into two chars - return Printf("%02x%02x%02x%02x-%02x%02x-3%01x%02x-8%01x%02x-%02x%02x%02x%02x%02x%02x", + return Printf("%02x%02x%02x%02x%02x%02x3%01x%02x8%01x%02x%02x%02x%02x%02x%02x%02x", MD5[0], MD5[1], MD5[2], MD5[3], MD5[4], MD5[5], MD5[6], MD5[7], MD5[8], MD5[9], MD5[10], MD5[11], |