nextBytes

open override fun nextBytes(array: ByteArray): ByteArray(source)

Fills the specified byte array with random bytes and returns it.

Since Kotlin

1.3

Return

array filled with random bytes.

Samples

import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue

fun main() { 
   //sampleStart 
   val bytes = ByteArray(4)
println(bytes.contentToString()) // [0, 0, 0, 0]

Random.nextBytes(bytes, 1, 3)
// second and third bytes are generated, rest unchanged
println(bytes.contentToString())

Random.nextBytes(bytes)
// all bytes are newly generated
println(bytes.contentToString())

val newBytes = Random.nextBytes(5)
// a new byte array filled with random values
println(newBytes.contentToString()) 
   //sampleEnd
}

open override fun nextBytes(size: Int): ByteArray(source)

Creates a byte array of the specified size, filled with random bytes.

Since Kotlin

1.3

Samples

import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue

fun main() { 
   //sampleStart 
   val bytes = ByteArray(4)
println(bytes.contentToString()) // [0, 0, 0, 0]

Random.nextBytes(bytes, 1, 3)
// second and third bytes are generated, rest unchanged
println(bytes.contentToString())

Random.nextBytes(bytes)
// all bytes are newly generated
println(bytes.contentToString())

val newBytes = Random.nextBytes(5)
// a new byte array filled with random values
println(newBytes.contentToString()) 
   //sampleEnd
}

open override fun nextBytes(array: ByteArray, fromIndex: Int, toIndex: Int): ByteArray(source)

Fills a subrange of the specified byte array starting from fromIndex inclusive and ending toIndex exclusive with random bytes.

Since Kotlin

1.3

Return

array with the subrange filled with random bytes.

Samples

import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue

fun main() { 
   //sampleStart 
   val bytes = ByteArray(4)
println(bytes.contentToString()) // [0, 0, 0, 0]

Random.nextBytes(bytes, 1, 3)
// second and third bytes are generated, rest unchanged
println(bytes.contentToString())

Random.nextBytes(bytes)
// all bytes are newly generated
println(bytes.contentToString())

val newBytes = Random.nextBytes(5)
// a new byte array filled with random values
println(newBytes.contentToString()) 
   //sampleEnd
}