1 | const sodium = require('./')
|
2 |
|
3 | const key = Buffer.alloc(sodium.crypto_secretbox_KEYBYTES)
|
4 | const nonce = Buffer.alloc(sodium.crypto_secretbox_NONCEBYTES)
|
5 |
|
6 | sodium.randombytes_buf(key)
|
7 | sodium.randombytes_buf(nonce)
|
8 |
|
9 | const message = Buffer.from('Hello, World!')
|
10 | const cipher = Buffer.alloc(message.length + sodium.crypto_secretbox_MACBYTES)
|
11 |
|
12 | sodium.crypto_secretbox_easy(cipher, message, nonce, key)
|
13 |
|
14 | console.log('Encrypted:', cipher)
|
15 |
|
16 | const plainText = Buffer.alloc(cipher.length - sodium.crypto_secretbox_MACBYTES)
|
17 |
|
18 | sodium.crypto_secretbox_open_easy(plainText, cipher, nonce, key)
|
19 |
|
20 | console.log('Plaintext:', plainText.toString())
|
21 |
|
22 | if (typeof window !== 'undefined') window.close()
|