Wrong module

This commit is contained in:
Ugljesa Jovanovic 2020-05-29 23:53:56 +02:00 committed by Ugljesa Jovanovic
parent 0cb5f33af3
commit 013682166c
No known key found for this signature in database
GPG Key ID: 178E6DFCECCB0E0F
2 changed files with 87 additions and 87 deletions

View File

@ -1,43 +1,44 @@
/* //We'll handle SRNG through libsodium
* Copyright 2019 Ugljesa Jovanovic ///*
* // * Copyright 2019 Ugljesa Jovanovic
* Licensed under the Apache License, Version 2.0 (the "License"); // *
* you may not use this file except in compliance with the License. // * Licensed under the Apache License, Version 2.0 (the "License");
* You may obtain a copy of the License at // * you may not use this file except in compliance with the License.
* // * You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0 // *
* // * http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software // *
* distributed under the License is distributed on an "AS IS" BASIS, // * Unless required by applicable law or agreed to in writing, software
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // * distributed under the License is distributed on an "AS IS" BASIS,
* See the License for the specific language governing permissions and // * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* limitations under the License. // * See the License for the specific language governing permissions and
*/ // * limitations under the License.
// */
package com.ionspin.kotlin.crypto //
//package com.ionspin.kotlin.crypto
import kotlinx.cinterop.* //
import platform.windows.* //import kotlinx.cinterop.*
//import platform.windows.*
/** //
* Created by Ugljesa Jovanovic ///**
* ugljesa.jovanovic@ionspin.com // * Created by Ugljesa Jovanovic
* on 21-Sep-2019 // * ugljesa.jovanovic@ionspin.com
*/ // * on 21-Sep-2019
actual object SRNG { // */
private val advapi by lazy { LoadLibraryA("ADVAPI32.DLL")} //actual object SRNG {
// private val advapi by lazy { LoadLibraryA("ADVAPI32.DLL")}
private val advapiRandom by lazy { //
GetProcAddress(advapi, "SystemFunction036")?.reinterpret<CFunction<Function2<CPointer<ByteVar>, ULong, Int>>>() ?: error("Failed getting advapi random") // private val advapiRandom by lazy {
} // GetProcAddress(advapi, "SystemFunction036")?.reinterpret<CFunction<Function2<CPointer<ByteVar>, ULong, Int>>>() ?: error("Failed getting advapi random")
// }
@Suppress("EXPERIMENTAL_UNSIGNED_LITERALS") //
actual fun getRandomBytes(amount: Int): UByteArray { // @Suppress("EXPERIMENTAL_UNSIGNED_LITERALS")
memScoped { // actual fun getRandomBytes(amount: Int): UByteArray {
val randArray = allocArray<ByteVar>(amount) // memScoped {
val pointer = randArray.getPointer(this) // val randArray = allocArray<ByteVar>(amount)
val status = advapiRandom(pointer.reinterpret(), amount.convert()) // val pointer = randArray.getPointer(this)
return UByteArray(amount) { pointer[it].toUByte() } // val status = advapiRandom(pointer.reinterpret(), amount.convert())
} // return UByteArray(amount) { pointer[it].toUByte() }
} // }
} // }
//}

View File

@ -1,44 +1,43 @@
// We will rely on libsodium for randomness /*
///* * Copyright 2019 Ugljesa Jovanovic
// * Copyright 2019 Ugljesa Jovanovic *
// * * Licensed under the Apache License, Version 2.0 (the "License");
// * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
// * you may not use this file except in compliance with the License. * You may obtain a copy of the License at
// * You may obtain a copy of the License at *
// * * http://www.apache.org/licenses/LICENSE-2.0
// * http://www.apache.org/licenses/LICENSE-2.0 *
// * * Unless required by applicable law or agreed to in writing, software
// * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS,
// * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and
// * See the License for the specific language governing permissions and * limitations under the License.
// * limitations under the License. */
// */
// package com.ionspin.kotlin.crypto
//package com.ionspin.kotlin.crypto
// import kotlinx.cinterop.*
//import kotlinx.cinterop.* import platform.windows.*
//import platform.windows.*
// /**
///** * Created by Ugljesa Jovanovic
// * Created by Ugljesa Jovanovic * ugljesa.jovanovic@ionspin.com
// * ugljesa.jovanovic@ionspin.com * on 21-Sep-2019
// * on 21-Sep-2019 */
// */ actual object SRNG {
//actual object SRNG { private val advapi by lazy { LoadLibraryA("ADVAPI32.DLL")}
// private val advapi by lazy { LoadLibraryA("ADVAPI32.DLL")}
// private val advapiRandom by lazy {
// private val advapiRandom by lazy { GetProcAddress(advapi, "SystemFunction036")?.reinterpret<CFunction<Function2<CPointer<ByteVar>, ULong, Int>>>() ?: error("Failed getting advapi random")
// GetProcAddress(advapi, "SystemFunction036")?.reinterpret<CFunction<Function2<CPointer<ByteVar>, ULong, Int>>>() ?: error("Failed getting advapi random") }
// }
// @Suppress("EXPERIMENTAL_UNSIGNED_LITERALS")
// @Suppress("EXPERIMENTAL_UNSIGNED_LITERALS") actual fun getRandomBytes(amount: Int): UByteArray {
// actual fun getRandomBytes(amount: Int): UByteArray { memScoped {
// memScoped { val randArray = allocArray<ByteVar>(amount)
// val randArray = allocArray<ByteVar>(amount) val pointer = randArray.getPointer(this)
// val pointer = randArray.getPointer(this) val status = advapiRandom(pointer.reinterpret(), amount.convert())
// val status = advapiRandom(pointer.reinterpret(), amount.convert()) return UByteArray(amount) { pointer[it].toUByte() }
// return UByteArray(amount) { pointer[it].toUByte() } }
// } }
// } }
//}