Launcher/compat/auth/uuid/ReversibleUUIDs.java
2018-09-22 21:34:13 +07:00

19 lines
703 B
Java

public static UUID toUUID(String username){
ByteBuffer buffer=ByteBuffer.wrap(Arrays.copyOf(username.getBytes(StandardCharsets.US_ASCII),16));
return new UUID(buffer.getLong(),buffer.getLong()); // MOST, LEAST
}
public static String toUsername(UUID uuid){
byte[]bytes=ByteBuffer.allocate(16).
putLong(uuid.getMostSignificantBits()).
putLong(uuid.getLeastSignificantBits()).array();
// Find username end
int length=0;
while(length<bytes.length&&bytes[length]!=0){
length++;
}
// Decode and verify
return VerifyHelper.verifyUsername(new String(bytes,0,length,StandardCharsets.US_ASCII));
}