· 5 years ago · Jan 09, 2020, 11:58 AM
1const bip39 = require('bip39')
2const sodium = require('sodium-javascript')
3
4const publickey = Buffer.alloc(sodium.crypto_box_PUBLICKEYBYTES)
5const secretkey = Buffer.alloc(sodium.crypto_box_SECRETKEYBYTES)
6sodium.crypto_box_keypair(publickey, secretkey)
7
8const message = new Buffer('hello datdot :-)')
9const code = Buffer.alloc(message.length + sodium.crypto_box_SEALBYTES)
10sodium.crypto_box_seal(code, message, publickey)
11
12try {
13 var decryptedmessage = new Buffer('')
14 // @NOTE: Why is the `
15 var bool = sodium.crypto_box_seal_open(decryptedmessage, code, publickey, secretkey)
16} catch (e) {
17 var size = Number(`${e}`.substring(43))
18 var decryptedmessage = new Buffer(size)
19 var bool = sodium.crypto_box_seal_open(decryptedmessage, code, publickey, secretkey)
20}
21const msg1 = message.toString()
22const msg2 = decryptedmessage.toString()
23console.log(msg1 === msg2, msg1, msg2)