This library implements libsodium's sealed boxes using the tweetnacl-js and blakejs libraries.
Usage
const nacl = require('tweetnacl')
const sodium = require('tweetsodium')
// generate public key to use for encryption and coresponding secret key to use
// for decryption
const keyPair = nacl.box.keyPair()
// encrypts message string using public key
function encrypt(message) {
const encoder = new TextEncoder()
const messageBytes = encoder.encode(message)
return sodium.seal(messageBytes, keyPair.publicKey)
}
// decrypts message using secret key
function decrypt(ciphertext) {
const encoder = new TextEncoder()
const ciphertextBytes = encoder.encode(ciphertext)
return sodium.sealOpen(ciphertextBytes, keyPair.publicKey, keyPair.secretKey)
}