uuid function

String uuid()

UUID(Universally Unique Identifier)有多种版本,每个版本的生成方式和用途不同。

v5: 生成方式:基于命名空间和名称的 SHA-1 哈希。 特点:相同的命名空间和名称会生成相同的 UUID。 用途:适用于需要从固定输入生成一致 UUID 的场景。

v6: 生成方式:类似 v1,但时间戳顺序不同,优化了数据库索引。 特点:时间戳在前,适合排序。 用途:适用于需要时间排序且避免 MAC 地址泄露的场景。

v7: 生成方式:基于 Unix 时间戳和随机数。 特点:时间戳在前,适合排序,避免了 v1 的隐私问题。 用途:适用于需要时间排序的场景。

v8: 生成方式:自定义格式,用户定义。 特点:灵活性高,用户可以定义生成方式。 用途:适用于需要自定义 UUID 生成规则的场景。

选择建议: v4 是最常用的版本,适合大多数场景。 v1 和 v6 适合需要时间排序的场景,但要注意隐私问题。 v5 适合需要从固定输入生成一致 UUID 的场景。 v7 是一种新的标准,结合了时间排序和隐私保护。 v8 适合需要自定义生成规则的场景。

注意: 在选择 UUID 版本时,考虑应用场景的需求,如排序、隐私、唯一性等。 确保使用可靠的库来生成 UUID,以避免实现错误。

Implementation

String uuid() {
  return const Uuid().v7();
}