Class NanoId

java.lang.Object
org.miaixz.bus.core.data.NanoId

public class NanoId extends Object
NanoId,一个小型、安全、对 URL友好的唯一字符串 ID 生成器,特点:
  • 安全:它使用加密、强大的随机 API,并保证符号的正确分配
  • 体积小:只有 258 bytes 大小(压缩后)、无依赖
  • 紧凑:它使用比 UUID (A-Za-z0-9_~)更多的符号

此实现的逻辑基于JavaScript的NanoId实现,见:https://github.com/ai/nanoid

Since:
Java 17+
Author:
Kimi Liu
  • Field Details

  • Constructor Details

    • NanoId

      public NanoId()
  • Method Details

    • randomNanoId

      public static String randomNanoId()
      生成伪随机的NanoId字符串,长度为默认的DEFAULT_SIZE,使用密码安全的伪随机生成器
      Returns:
      伪随机的NanoId字符串
    • randomNanoId

      public static String randomNanoId(int size)
      生成伪随机的NanoId字符串
      Parameters:
      size - ID长度
      Returns:
      伪随机的NanoId字符串
    • randomNanoId

      public static String randomNanoId(Random random, char[] alphabet, int size)
      生成伪随机的NanoId字符串
      Parameters:
      random - 随机数生成器
      alphabet - 随机字母表
      size - ID长度
      Returns:
      伪随机的NanoId字符串