uuid

Generates Universally Unique Identifiers compliant with RFC 9562, implementing multiple UUID versions. Features include thread safety, frozen state, and correctness testing against macOS/iOS UUID.

Android JVMJVMKotlin/Native
GitHub stars3
Open issues1
LicenseApache License 2.0
Creation dateabout 2 years ago

Last activityalmost 2 years ago
Latest release1.0.0 (almost 2 years ago)

This is a Kotlin Multiplatform library for generating Universally Unique Identifiers.

support: androidiosArm64iosSimulatorArm64iosX64jvm

The Internet standard RFC 9562 was published in May 2024, making RFC 4122 obsolete. This library is fully compliant with the new RFC, as it was developed following the evolution of the new standard until its publication.

List of implemented UUID subtypes:

  • UUID Version 1: the Gregorian time-based UUID specified in RFC 9562;
  • UUID Version 2: the DCE Security version, with embedded POSIX UIDs, specified in DCE 1.1;
  • UUID Version 3: the name-based version that uses MD5 hashing specified in RFC 9562;
  • UUID Version 4: The randomly or pseudorandomly generated version specified in RFC 9562;
  • UUID Version 5: the name-based version that uses SHA-1 hashing specified in RFC 9562;
  • UUID Version 6: the reordered Gregorian time-based UUID specified in RFC 9562;
  • UUID Version 7: the Unix Epoch time-based UUID specified in RFC 9562.

UUID

  • Frozen
  • Thread-safe (thread-safe randomness in native)
  • Adheres to RFC 9562
  • Tested
  • Tested against macOS/iOS UUID to verify correctness

Setup

In your build.gradle(.kts):

  • Add mavenCentral() to your repositories.
  • if it not work then
maven {
    url = uri("https://s01.oss.sonatype.org/content/repositories/releases/")
}
  • Add implementation "io.github.huarangmeng:uuid:1.0.0" as a dependency in your commonMain sourceSets.

Future Goals

  • Develop UUID functionality that can be contributed back to the Kotlin stdlib (see latest issues, PRs, and CHANGELOG.md for updates)
Android JVMJVMKotlin/Native
GitHub stars3
Open issues1
LicenseApache License 2.0
Creation dateabout 2 years ago

Last activityalmost 2 years ago
Latest release1.0.0 (almost 2 years ago)

This is a Kotlin Multiplatform library for generating Universally Unique Identifiers.

support: androidiosArm64iosSimulatorArm64iosX64jvm

The Internet standard RFC 9562 was published in May 2024, making RFC 4122 obsolete. This library is fully compliant with the new RFC, as it was developed following the evolution of the new standard until its publication.

List of implemented UUID subtypes:

  • UUID Version 1: the Gregorian time-based UUID specified in RFC 9562;
  • UUID Version 2: the DCE Security version, with embedded POSIX UIDs, specified in DCE 1.1;
  • UUID Version 3: the name-based version that uses MD5 hashing specified in RFC 9562;
  • UUID Version 4: The randomly or pseudorandomly generated version specified in RFC 9562;
  • UUID Version 5: the name-based version that uses SHA-1 hashing specified in RFC 9562;
  • UUID Version 6: the reordered Gregorian time-based UUID specified in RFC 9562;
  • UUID Version 7: the Unix Epoch time-based UUID specified in RFC 9562.

UUID

  • Frozen
  • Thread-safe (thread-safe randomness in native)
  • Adheres to RFC 9562
  • Tested
  • Tested against macOS/iOS UUID to verify correctness

Setup

In your build.gradle(.kts):

  • Add mavenCentral() to your repositories.
  • if it not work then
maven {
    url = uri("https://s01.oss.sonatype.org/content/repositories/releases/")
}
  • Add implementation "io.github.huarangmeng:uuid:1.0.0" as a dependency in your commonMain sourceSets.

Future Goals

  • Develop UUID functionality that can be contributed back to the Kotlin stdlib (see latest issues, PRs, and CHANGELOG.md for updates)