Skip to content

Instantly share code, notes, and snippets.

@kalgon
Created March 19, 2018 10:02
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kalgon/50e89ad05ddfff5ea387205aee8af358 to your computer and use it in GitHub Desktop.
Save kalgon/50e89ad05ddfff5ea387205aee8af358 to your computer and use it in GitHub Desktop.
Convert UUID to Base64
import java.nio.ByteBuffer;
import java.util.Base64;
import java.util.UUID;
public enum UUID2Base64 {
BASIC(Base64.getEncoder(), Base64.getDecoder()),
MIME(Base64.getMimeEncoder(), Base64.getMimeDecoder()),
URL(Base64.getUrlEncoder(), Base64.getUrlDecoder());
private final Base64.Encoder encoder;
private final Base64.Decoder decoder;
UUID2Base64(Base64.Encoder encoder, Base64.Decoder decoder) {
this.encoder = encoder.withoutPadding();
this.decoder = decoder;
}
public UUID decode(String value) {
ByteBuffer buffer = ByteBuffer.wrap(decoder.decode(value));
return new UUID(buffer.getLong(), buffer.getLong());
}
public String encode(UUID value) {
ByteBuffer buffer = ByteBuffer.allocate(16).putLong(value.getMostSignificantBits()).putLong(value.getLeastSignificantBits());
return encoder.encodeToString(buffer.array());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment