Compare commits
4 Commits
8fab26a476
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
d9454fcdb2
|
|||
|
06d86a6679
|
|||
|
a28cb7d2f9
|
|||
|
3465a60cb1
|
@@ -20,7 +20,7 @@ repositories {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation("com.infendro:prng:1.3.0")
|
||||
implementation("com.infendro:prng:1.3.1")
|
||||
}
|
||||
```
|
||||
|
||||
@@ -29,7 +29,7 @@ dependencies {
|
||||
```kotlin
|
||||
fun main() {
|
||||
// create PRNG instance
|
||||
val rng = CSPRNG.HMAC(`SHA-256`)
|
||||
val rng = CSPRNG.HMAC(`SHA-256`())
|
||||
|
||||
// seed PRNG to receive deterministic numbers
|
||||
rng.seed(/* seed */)
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.infendro.plugin.token
|
||||
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
|
||||
|
||||
group = "com.infendro"
|
||||
version = "1.3.0"
|
||||
version = "1.3.1"
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.infendro)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
[versions]
|
||||
infendro = "1.1.0"
|
||||
kotlin = "2.3.0"
|
||||
bytes = "1.4.0"
|
||||
hash = "1.6.0"
|
||||
mac = "1.4.0"
|
||||
bytes = "1.4.2"
|
||||
hash = "1.7.0"
|
||||
mac = "1.5.0"
|
||||
|
||||
[plugins]
|
||||
infendro = { id = "com.infendro.plugin", version.ref = "infendro" }
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.infendro.random.PRNG
|
||||
import kotlin.properties.Delegates.notNull
|
||||
|
||||
class LCG : PRNG() {
|
||||
private val function = `SHA-256`()
|
||||
|
||||
private val a: Long = 25214903917L
|
||||
private val c: Long = 11L
|
||||
private val mask: Long = (1L shl 48) - 1
|
||||
@@ -13,7 +15,7 @@ class LCG : PRNG() {
|
||||
private var x: Long by notNull()
|
||||
|
||||
override fun seed(seed: ByteArray) {
|
||||
x = `SHA-256`.hash(seed).toLong() and mask
|
||||
x = function.hash(seed).toLong() and mask
|
||||
}
|
||||
|
||||
override fun generate(): Int {
|
||||
|
||||
@@ -6,10 +6,12 @@ import com.infendro.random.PRNG
|
||||
import kotlin.properties.Delegates.notNull
|
||||
|
||||
class Xoshiro256pp : PRNG() {
|
||||
private val function = `SHA-256`()
|
||||
|
||||
private var s: LongArray by notNull()
|
||||
|
||||
override fun seed(seed: ByteArray) {
|
||||
s = `SHA-256`.hash(seed).toLongArray()
|
||||
s = function.hash(seed).toLongArray()
|
||||
}
|
||||
|
||||
override fun generate(): Int {
|
||||
|
||||
@@ -6,10 +6,12 @@ import com.infendro.random.PRNG
|
||||
import kotlin.properties.Delegates.notNull
|
||||
|
||||
class Xoshiro256ss : PRNG() {
|
||||
private val function = `SHA-256`()
|
||||
|
||||
private var s: LongArray by notNull()
|
||||
|
||||
override fun seed(seed: ByteArray) {
|
||||
s = `SHA-256`.hash(seed).toLongArray()
|
||||
s = function.hash(seed).toLongArray()
|
||||
}
|
||||
|
||||
override fun generate(): Int {
|
||||
|
||||
Reference in New Issue
Block a user