#AdditionalJar: libsodium-jni-release.aar
Sub testlibsodium
Private NativeMe As JavaObject
NativeMe.InitializeContext
NativeMe.RunMethod("generateEncryptionKeyPair", Null)
Dim pub() As Byte = NativeMe.RunMethod("publicKey", Null)
Dim priv() As Byte = NativeMe.RunMethod("privateKey", Null)
Dim b64 As Base64
Log(b64.EncodeBtoS(pub, 0, pub.Length))
Log(b64.EncodeBtoS(priv, 0, priv.Length))
End Sub
#If Java
import org.libsodium.jni.SodiumConstants;
import org.libsodium.jni.crypto.Random;
import org.libsodium.jni.keys.KeyPair;
KeyPair encryptionKeyPair;
public void generateEncryptionKeyPair() {
byte[] seed = new Random().randomBytes(SodiumConstants.SECRETKEY_BYTES);
encryptionKeyPair = new KeyPair(seed);
}
public byte[] privateKey() {
return encryptionKeyPair.getPrivateKey().toBytes();
}
public byte[] publicKey() {
return encryptionKeyPair.getPublicKey().toBytes();
}
#End If