Bump sample to use latest snapshot and add some encryption/decryption to binary
This commit is contained in:
parent
0baef1257e
commit
13a880cc73
@ -25,7 +25,7 @@ object Versions {
|
|||||||
val kotlinBigNumVersion = "0.3.7"
|
val kotlinBigNumVersion = "0.3.7"
|
||||||
val jna = "5.10.0"
|
val jna = "5.10.0"
|
||||||
val kotlinPoet = "1.6.0"
|
val kotlinPoet = "1.6.0"
|
||||||
val sampleLibsodiumBindings = "0.8.5-SNAPSHOT"
|
val sampleLibsodiumBindings = "0.8.8-SNAPSHOT"
|
||||||
val ktor = "1.3.2"
|
val ktor = "1.3.2"
|
||||||
val timber = "4.7.1"
|
val timber = "4.7.1"
|
||||||
val kodeinVersion = "7.1.0"
|
val kodeinVersion = "7.1.0"
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.ionspin.kotlin.crypto.sample
|
package com.ionspin.kotlin.crypto.sample
|
||||||
|
|
||||||
|
import com.ionspin.kotlin.crypto.aead.AuthenticatedEncryptionWithAssociatedData
|
||||||
|
import com.ionspin.kotlin.crypto.aead.crypto_aead_xchacha20poly1305_ietf_NPUBBYTES
|
||||||
import com.ionspin.kotlin.crypto.hash.Hash
|
import com.ionspin.kotlin.crypto.hash.Hash
|
||||||
import com.ionspin.kotlin.crypto.util.LibsodiumRandom
|
import com.ionspin.kotlin.crypto.util.LibsodiumRandom
|
||||||
import com.ionspin.kotlin.crypto.util.encodeToUByteArray
|
import com.ionspin.kotlin.crypto.util.encodeToUByteArray
|
||||||
@ -10,10 +12,24 @@ object Sample {
|
|||||||
fun runSample() {
|
fun runSample() {
|
||||||
val random = LibsodiumRandom.buf(32)
|
val random = LibsodiumRandom.buf(32)
|
||||||
println("Random: ${random.toHexString()}")
|
println("Random: ${random.toHexString()}")
|
||||||
|
println("Hashed 123 ${hashSomething()}")
|
||||||
|
encryptThenDecrypt()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun hashSomething() : String {
|
fun hashSomething() : String {
|
||||||
val hash = Hash.sha512("123".encodeToUByteArray())
|
val hash = Hash.sha512("123".encodeToUByteArray())
|
||||||
return "Hash (SHA512) of 123: ${hash.toHexString()}"
|
return "Hash (SHA512) of 123: ${hash.toHexString()}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun encryptThenDecrypt() {
|
||||||
|
val data = LibsodiumRandom.buf(2048)
|
||||||
|
val associatedData = LibsodiumRandom.buf(256)
|
||||||
|
val key = AuthenticatedEncryptionWithAssociatedData.xChaCha20Poly1305IetfKeygen()
|
||||||
|
val nonce = LibsodiumRandom.buf(crypto_aead_xchacha20poly1305_ietf_NPUBBYTES)
|
||||||
|
val encrypted = AuthenticatedEncryptionWithAssociatedData.xChaCha20Poly1305IetfEncrypt(data, associatedData, nonce, key)
|
||||||
|
println("Original data ${data.toHexString()}")
|
||||||
|
println("Encrypted ${encrypted.toHexString()}")
|
||||||
|
val decrypted = AuthenticatedEncryptionWithAssociatedData.xChaCha20Poly1305IetfDecrypt(encrypted, associatedData, nonce, key)
|
||||||
|
println("Decrypted ${decrypted.toHexString()}")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user