Pure Javascript version of sodium-native
internal | ||
.gitignore | ||
crypto_aead.js | ||
crypto_box.js | ||
crypto_generichash.js | ||
crypto_hash_sha256.js | ||
crypto_hash.js | ||
crypto_kdf.js | ||
crypto_kx.js | ||
crypto_onetimeauth.js | ||
crypto_scalarmult.js | ||
crypto_secretbox.js | ||
crypto_shorthash.js | ||
crypto_sign.js | ||
crypto_stream_chacha20.js | ||
crypto_stream.js | ||
crypto_verify.js | ||
example.js | ||
index.js | ||
LICENSE | ||
memory.js | ||
package.json | ||
randombytes.js | ||
README.md | ||
test.js |
sodium-javascript
WIP - a pure javascript version of sodium-native. Based on tweetnacl
Usage
const sodium = require('sodium-javascript')
const key = Buffer.alloc(sodium.crypto_secretbox_KEYBYTES)
const nonce = Buffer.alloc(sodium.crypto_secretbox_NONCEBYTES)
sodium.randombytes_buf(key)
sodium.randombytes_buf(nonce)
const message = Buffer.from('Hello, World!')
const cipher = Buffer.alloc(message.length + sodium.crypto_secretbox_MACBYTES)
sodium.crypto_secretbox_easy(cipher, message, nonce, key)
console.log('Encrypted:', cipher)
const plainText = Buffer.alloc(cipher.length - sodium.crypto_secretbox_MACBYTES)
sodium.crypto_secretbox_open_easy(plainText, cipher, nonce, key)
console.log('Plaintext:', plainText.toString())
API
See sodium-native. This is a work in progress so all functions are not implemented yet.
Install
npm install sodium-javascript