Generating 8-character only UUIDs

后端 未结 8 1485
[愿得一人]
[愿得一人] 2020-11-27 03:22

UUID libraries generate 32-character UUIDs.

I want to generate 8-character only UUIDs, is it possible?

8条回答
  •  暖寄归人
    2020-11-27 04:06

    I do not think that it is possible but you have a good workaround.

    1. cut the end of your UUID using substring()
    2. use code new Random(System.currentTimeMillis()).nextInt(99999999); this will generate random ID up to 8 characters long.
    3. generate alphanumeric id:

      char[] chars = "abcdefghijklmnopqrstuvwxyzABSDEFGHIJKLMNOPQRSTUVWXYZ1234567890".toCharArray();
      Random r = new Random(System.currentTimeMillis());
      char[] id = new char[8];
      for (int i = 0;  i < 8;  i++) {
          id[i] = chars[r.nextInt(chars.length)];
      }
      return new String(id);
      

提交回复
热议问题