Spec-Zone.ru › Kotlin 2

random

kotlin-stdlib/kotlin.uuid/Uuid/Companion/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.

См. также

Uuid.generateV4

Выбрасывает

RuntimeException

если базовый 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API