random
Начиная с Kotlin: 2.4
fun random(): Uuid
Создаёт новый случайный экземпляр Uuid.
Эта функция является синонимом Uuid.generateV4.
Возвращаемый UUID соответствует варианту IETF (вариант 2) и версии 4 и предназначен для обеспечения уникальности с очень высокой вероятностью независимо от того, когда и где он был создан. UUID создаётся с помощью криптографически стойкого генератора псевдослучайных чисел (CSPRNG), доступного на платформе. Если базовая система не собрала достаточно энтропии, эта функция может блокироваться до накопления достаточного количества энтропии и полной инициализации CSPRNG. Следует отметить, что генератор псевдослучайных чисел (PRNG), используемый в целевой платформе Kotlin/WasmWasi, не гарантированно является криптографически стойким. Сведения об API, используемых для создания случайного UUID в каждой поддерживаемой целевой платформе, приведены ниже.
Обратите внимание, что возвращаемый UUID не рекомендуется использовать в криптографических целях, поскольку UUID версии 4 имеет частично предсказуемый битовый шаблон и использует не более 122 бит энтропии независимо от платформы.
Для создания случайного UUID в каждой из поддерживаемых целевых платформ используются следующие API:
Kotlin/JVM — java.security.SecureRandom
Kotlin/JS — Crypto.getRandomValues()
Kotlin/WasmJs — Crypto.getRandomValues()
Kotlin/WasmWasi — random_get
Kotlin/Native: — целевые платформы Linux — getrandom — целевые платформы Apple и Android Native — arc4random_buf — целевые платформы Windows — BCryptGenRandom
Обратите внимание, что базовый API, используемый для создания случайных UUID, может измениться в будущем.
Возвращает
Случайно сгенерированный UUID.
См. также
Выбрасывает
если базовый API завершается ошибкой. Возможные причины ошибки и рекомендации по её обработке см. в документации соответствующего базового API.
Примеры
import kotlin.test.*
import kotlin.time.Instant
import kotlin.uuid.*
fun main() {
//sampleStart
// Generates a random and unique uuid each time
val uuid1 = Uuid.random()
val uuid2 = Uuid.random()
val uuid3 = Uuid.random()
println(uuid1 == uuid2) // false
println(uuid1 == uuid3) // false
println(uuid2 == uuid3) // false
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.uuid/-uuid/-companion/random.html